当使用php的脚本执行命令(如:shell_exec())时,若脚本需要系统环境变量PATH支持(如:python使用import等),则会出现找不到的错误。并且查看系统PATH,如下:
echo(shell_exec('echo $PATH'));
/usr/sbin:/usr/bin:/sbin:/bin
可以看出,系统和用户PATH均未被设置,这是由于Apache配置文件临时屏蔽了环境变量。
对于Ubuntu系统,找到环境变量配置文件,通常在/etc/apache2/envvars
或者/usr/local/apache/bin/envvars
(lamp.sh安装)中。
打开envvars
文件,在文件末尾export系统和用户环境变量,一般:
* 系统变量在/etc/environment
中
* 所有用户的环境变量在/etc/profile
中
* 单个用户的环境变量在~/.bashrc
中
export PATH=/home/XXXXXX/soft/anaconda2/bin:/usr/local/cuda-8.0/......
export PYTHONPATH=.......
......
重启Apache服务,运行如下php代码:
print_r(shell_exec('env'));
发现环境变量生效。
更多机器学习干货、最新论文解读、AI资讯热点等欢迎关注“AI学院(FAICULTY)”,内容持续更新中……
欢迎加入faiculty机器学习交流qq群:451429116(点此进群)
版权声明:可以任意转载,转载时请务必标明文章原始出处和作者信息。