Quiero usar la función de php's exec() en un servidor ubuntu. El problema es que siempre obtengo un error, que el comando no se encuentra. Por ejemplo, usandoCómo cambio el shell para php's exec()
exec("echo 123");
impresiones
sh:/echo: No se ha encontrado
Para mí, parece que PHP está utilizando el shell sh, cuando quiero estar usando fiesta . Intenté cambiar el shell para www-data en/etc/passwd, que tampoco ayudó.
¿Alguien tiene una idea de dónde más podría estar el problema o cómo puedo cambiar el shell para el usuario de ubuntu de php?
Gracias, Timo
[EDIT]
Tal vez esto ayuda:
que llamo una escritura del golpe de ssh como timo, este script llama a un script php, que utiliza Exec. Lo sé, suena raro, pero es parte de un entorno de desarrollo más grande ...
El punto es, no estoy seguro, como qué usuario se ejecuta el script dentro de exec.
[EDIT]
Por ahora me di cuenta de que tiene que haber otro problema de los derechos en cuestión. Incluso si intento llamar a un script bash test.sh (¡por su ruta completa!) Desde dentro de exec, php test.php simplemente dirá.
sh: /test.sh: No se ha encontrado
Gracias por su respuesta súper rápida. Desafortunadamente, eso no resolvió el problema./bin/echo tampoco funciona. Lo que en realidad quería hacer es este /usr/bin/mysql user = asdf asdf --password = mibd <./dump.sql Como se puede ver, que incluso se utiliza la ruta absoluta.El eco fue solo un ejemplo para hacerlo más simple ... ¿Alguna otra idea tal vez? – Timo