php 使用默认 LOCALE=C 来执行shell echo shell_exec('export LANG=zh_CN.UTF-8 locale cd /home/mydir mycmd 2 不然shelli不能使用zh_CN.UTF-8的中文选项或者参数 $locale = 'zh_CN.UTF-8';setlocale(LC_ALL, $locale);putenv('LC_ALL='.$locale); 上面这种
php 使用默认 LOCALE=C 来执行shell
echo shell_exec('export LANG=zh_CN.UTF-8 && locale && cd /home/mydir && mycmd 2>&1');
不然shelli不能使用zh_CN.UTF-8的中文选项或者参数
$locale = 'zh_CN.UTF-8'; setlocale(LC_ALL, $locale); putenv('LC_ALL='.$locale);
上面这种方式比较繁琐
至于path,在nginx可以通过
fastcgi_param PATH /usr/local/bin:/usr/bin:/bin:/your/path; 来传递环境变量
参考资料
http://serverfault.com/questions/418952/setting-path-for-weberver-user
原文地址:PHP shell函数的环境变量, 感谢原作者分享。