Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Windpws 7 x64] PHP exec vindt programma niet

Pagina: 1
Acties:

  • mpkossen
  • Registratie: Januari 2008
  • Laatst online: 15-11-2022
Ik heb vandaag het webplatform van mijn werk onder Windows 7 geinstalleerd. Na de installatie wordt er gecontroleerd of het 'junction' commando met shell_exec kan worden uitgevoerd in PHP. Dit werkt echter niet, de output van de functie blijft leeg, terwijl het met commando's als 'svn' en 'mysql' wel een output geeft.

Ik heb junction.exe via Microsoft gedownload en in 'C:\Windows\System32' gezet. Dit pad staat ook in de System PATH variabele. Via command line werkt 'junction' wel gewoon, alleen via PHP shell_exec niet. Diverse reboots hebben ook niet geholpen.

Heeft iemand een idee hoe het kan komen dat het niet werkt danwel een tip of oplossing om het werken te krijgen?

Bij voorbaat dank voor de reacties!

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

En welke foutmelding krijg je dan terug?

Ik vermoed dat PHP (als gebruiker) gewoon niet die map in mag.

Ey!! Macarena \o/


  • mpkossen
  • Registratie: Januari 2008
  • Laatst online: 15-11-2022
Ik krijg helemaal niets terug.

'SYSTEM' mag in de map en heeft alle rechten, behalve 'Special permissions'.

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Als exec het bestand niet kan vinden, of niet mag uitvoeren, krijg je een foutmelding, anders wordt ie gewoon uitgevoerd.

Dat een programma wat op de CLI output geeft, wil nog niet zeggen dat het aaan PHP wordt terug gegeven.

Als je junction.exe kan laten outputten naar een tekstfile
junction.exe >\test.txt


Als dan test.txt wordt gevuld, kan je dat ook met php doen. Als php niet teruggeeft, en het bestand test.txt wel gevuld is, werkt het dus gewoon ;)

Ey!! Macarena \o/


  • spone
  • Registratie: Mei 2002
  • Niet online
Moet je als je junction draait niet de allereerste keer een license agreement accepteren, waar ie op blijft hangen?

i5-14600K | 32GB DDR5-6000 | RTX 5070 - MacBook Pro M1 Pro 14" 16/512


  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 16:34
Hmm, jij draait Apache onder SYSTEM? Lekker...

  • mpkossen
  • Registratie: Januari 2008
  • Laatst online: 15-11-2022
@spone: dat heb ik gedaan, dat was ook mijn eerste gedachte.

@_JGC_: ik ben normaliter Ubuntu-gebruiker, dus ik weet weinig van Windows-rechten af. Ik maak uit je opmerking op dat dat niet verstandig is? Wat adviseer jij?

@RaZ: ik ga dat proberen.

Ik heb trouwens junction.exe uit C:\Windows\System32 gehaald en in C:\Program Files (x86)\Junction gezet. Nu blijft de pagina laden (meer dan een minuut) en na een tijdje is het scherm gewoon wit en de pagina niet geladen, geen foutmelding in de browser en ook niet in de apache logs. Toch wel vreemd...

Bedankt overigens voor de hulp zo ver! :)

  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

mpkossen schreef op donderdag 25 maart 2010 @ 22:52:

@_JGC_: ik ben normaliter Ubuntu-gebruiker, dus ik weet weinig van Windows-rechten af. Ik maak uit je opmerking op dat dat niet verstandig is? Wat adviseer jij?
Zelfde aanpak gebruiken, service onder een aparte service-account gebruiken die enkel de benodigde rechten krijgt (logon as a service, en de NTFS permissies voor de plekken waar dat nodig is en verder niet)

[google=windows service account]

Zoveel verschilt het dus niet van wat je gewend bent hoor :) Maar ja, onder het SYSTEM account Werkt Alles Opeens dus is dat de easy way out ;)

Let wel dat ook SYSTEM (of je nieuwe service account) z'n eigen 'profile' heeft en ook dat account zal de eula moeten accepteren.
Eerst junction.exe runnen met de -accepteula switch verhelpt dat probleem ook.

[ Voor 12% gewijzigd door alt-92 op 26-03-2010 08:06 ]

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device

Pagina: 1