ejecutar - El comando PHP exec ejecuta el script python pero no python3
python y php (1)
No queremos meternos con la ruta del sistema en la última OSX. ¿Qué sucede si agrega la ruta de Python3 en su secuencia de comandos de esta manera y luego hace sus cosas normales?
putenv("PATH=/usr/local/bin/:" . exec(''echo $PATH''));
$executePython = "python3 " . __DIR__ . "/cycle/cutoff.py $device_id $processPreviousMinutes";
exec("$executePython");
putenv
simplemente agrega tu ruta de python3 a la ruta actual que esté en el apache de tu XAMPP.
Actualmente tengo instalado Python 2.7 como parte de OSX, y recientemente instalé 3.5.2.
Estoy ejecutando un servidor web local en mi mac usando XAMPP, y cuando ejecuto el script de python desde apache, carga bien:
$executePython = "python " . __DIR__ . "/cycle/cutoff.py $device_id $processPreviousMinutes";
exec("$executePython");
Sin embargo, cuando reemplazo python
con python3
mi script se niega a ejecutarse. Puedo invocarlo manualmente desde la línea de comandos usando ambas versiones, sin embargo, parece que la cuenta / demonio apache no tiene acceso a python3. ¿Esto tiene algo que ver con un archivo de configuración que he pasado por alto?