manager instalar for descargar configurar compilar php windows iis exec

instalar - php manager for iis



Ejecutivo de PHP en Windows con configuraciĆ³n de IIS (3)

Es probable que se trate de un problema de permisos del usuario del sistema. Probé tu ejemplo:

<?php exec ("cmd /c dir > results.txt "); ?>

En mi Windows7 con Xampp instalado y funcionó perfectamente bien. Sin embargo, con IIS, el "usuario" puede no tener permisos para el directorio, por lo que creo que puede ser el usuario del sistema IIS-IUSR o algo así.

Aquí hay un enlace que podría ayudar con los permisos de usuario para IIS: http://www.iis.net/learn/get-started/planning-for-security/understanding-built-in-user-and-group-accounts-in -iis

así que leí unas 10 respuestas y todos parecen sugerir ideas que por alguna razón no funcionan.

Estoy tratando de ejecutar una línea de comando simple que es "svn update" pero no está funcionando y devuelve NULL

así que he intentado con prueba y error de la manera y por ahora esto es lo que puedo decir;

He intentado varios comandos como

<?php exec ("cmd /c ping 127.0.0.1 -n 1 > results.txt "); ?>

y

<?php exec ("cmd /c chdir > results.txt "); ?>

y ambos funcionan ... de hecho chdir dice la posición exacta donde el archivo php que ejecuta la línea se almacena en la pc.

entonces el problema ahora es, ¿por qué algunos comandos como este?

<?php exec ("cmd /c dir > results.txt "); ?>

no funciona? esto da como resultado un valor vacío aunque dentro de la carpeta tengo varios archivos y directorios.

y por qué si uso el símbolo del sistema para moverme a la carpeta donde está el archivo php y escribo svn update, funciona y funciona

<?php exec ("cmd /c svn update > results.txt "); ?>

devuelve un NULL?

Cualquier ayuda es muy apreciada.

parece que tengo algunas restricciones debido a la configuración de la configuración porque cuando intento en el uso local de Apache, puedo hacer que la mayoría de los comandos funcionen (shell_exec, system, exec, incluso sin el cmd / c)


De acuerdo, según tus respuestas, creo que deberías probar esto:

Ejecute su comando usando el ejecutable ''svn.exe'' (reemplace la [[ubicación de la ubicación]]). Es posible que su cliente tenga otra ubicación svn.exe, pero tendrá que descubrirlo usted mismo :)

exec(''cmd /c "c://Program Files//TortoiseSVN//bin//svn.exe" up "[[repository location]]"'');

¿Qué pasa ahora?

También hay un segundo parámetro en el exec , tal vez también debería echarle un vistazo a ese.


De acuerdo.

he logrado resolver el problema ...

Esto es lo que hice:

Primero compruebe exactamente qué nombre de usuario se está ejecutando para el sitio web específico. Para hacerlo, haga lo siguiente:

<?php $out = array(); exec(''cmd /c whoami 2>&1'',$out,$exitcode); echo "<br />EXEC: ( exitcode : $exitcode )"; echo "<hr /><pre>"; print_r($out); echo "</pre>"; ?>

esto devolverá el nombre de la computadora seguido del nombre de usuario.

ahora en la computadora que ejecuta el servidor web

control userpasswords2

y otorgar poderes de administrador al nombre de usuario whoami dijo

esto le permitirá finalmente ejecutar cualquier comando que desee utilizando exec o system_exec

por otro lado, continuando con mi comando SVN descubrí que tenía otro problema, que es que cuando lo ejecute, buscará el archivo de configuración que está bajo la cuenta de administrador y dará un error que dice:

svn: E125001: Can''t determine the user''s config path

para resolver este problema, simplemente tiene que especificar en el comando config_dir haciendo esto:

exec(''cmd /c svn update --config-dir C:/Users/Administrator/AppData/Roaming/Subversion C://inetpub//vhosts//websitename//httpdocs//folder 2>&1'',$out,$exitcode);

Espero que esto ayude a otros que están teniendo problemas como los que tuve.