加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP-fpm nginx没有可用的环境变量

发布时间:2020-12-13 17:25:44 所属栏目:PHP教程 来源:网络整理
导读:我试着用以下方式修改php.ini: variables_order = "GPCSE"register_globals = On 但是所需的变量(PATH)既不在$_ENV数组中,也不能通过getenv(‘PATH’)接受 正如标题所说,我正在运行nginx php-fpm(Ubuntu 10.04) 附: 在控制台中执行下一个comamnd会得到正确
我试着用以下方式修改php.ini:

variables_order = "GPCSE"
register_globals = On

但是所需的变量(PATH)既不在$_ENV数组中,也不能通过getenv(‘PATH’)接受
正如标题所说,我正在运行nginx php-fpm(Ubuntu 10.04)

附:
在控制台中执行下一个comamnd会得到正确的结果:
php -r“echo getenv(‘PATH’);”

我猜PATH是bash的环境变量,但只要php-fpm不是通过bash启动它就没有必需的变量.有没有办法包括它们?

谢谢.

UPD#1
作为临时解决方案,我发现PATH变量存储在’/ etc / environment’文件中.所以我只是从那里读它.如果有人需要代码:

preg_match('/^(PATH)="?([^"]+)"?$/i',file_get_contents('/etc/environment'),$match);
putenv($match[1]."=".$match[2]);

解决方法

将OwnCloud安装升级到8.1版时,我遇到了这个问题.

他们在documentation中描述了修复

总结是:在php5-fpm配置文件夹中找到你的www.conf文件(对于Ubuntu,这是/etc/php5/fpm/pool.d/www.conf)并取消注释所需的env [PATH]行.

(可选)使用php -r“echo getenv(‘PATH’)的输出更新变量的内容;”

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读