Estoy tratando de ejecutar un script de Python desde PHP usando el siguiente comando:
exec('/usr/bin/python2.7 /srv/http/assets/py/switch.py arg1 arg2');
Sin embargo, PHP simplemente no produce ningún resultado. El informe de errores se establece en E_ALL y display_errors está activado.
Esto es lo que probé:
- Usé
python2
,/usr/bin/python2
y enpython2.7
lugar de/usr/bin/python2.7
- También utilicé una ruta relativa en lugar de una ruta absoluta que tampoco cambió nada.
- He intentado utilizar los comandos
exec
,shell_exec
,system
.
Sin embargo, si corro
if (exec('echo TEST') == 'TEST')
{
echo 'exec works!';
}
funciona perfectamente bien mientras shutdown now
no hace nada.
PHP tiene los permisos para acceder y ejecutar el archivo.
EDITAR: Gracias a Alejandro, pude solucionar el problema. Si tiene el mismo problema, no olvide que su servidor web probablemente / con suerte no se ejecute como root. Intente iniciar sesión como usuario de su servidor web o un usuario con permisos similares e intente ejecutar los comandos usted mismo.