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

linux – 为weberver用户设置$PATH

发布时间:2020-12-13 17:12:19 所属栏目:Linux 来源:网络整理
导读:我尝试使用不同的方法为所有用户添加$PATH,包括webserver用户(即www-data),例如编辑/ etc / profile,/ etc / environment等.在所有情况下,它都适用于终端,但不适用于 shell PHP中的命令. 例如,终端中的echo $PATH显示可用路径,包括我添加的路径;但是,PHP中的
我尝试使用不同的方法为所有用户添加$PATH,包括webserver用户(即www-data),例如编辑/ etc / profile,/ etc / environment等.在所有情况下,它都适用于终端,但不适用于 shell PHP中的命令.

例如,终端中的echo $PATH显示可用路径,包括我添加的路径;但是,PHP中的shell_exec(‘echo $PATH’)显示了没有我添加的路径的原始路径:
在/usr/local / sbin中:在/usr/local / bin目录:/usr/sbin目录:在/usr/bin中:/ sbin目录:/ bin中

如何将$PATH全局设置为可供网络服务器用户使用?我在Ubuntu / Debian上使用nginx.

我试着编辑/etc/init.d/nginx,我认为这是nginx的起点,但没有效果.

解决方法

你没有说哪个发行版,但我的猜测是Ubuntu或类似的.

在/etc/init.d/apache2中定义的默认PATH是/usr/local / bin:/usr/bin:/ bin

在我的Ubuntu系统上有一个文件/ etc / apache2 / envvars.您可以在此文件中定义PATH,并在重新启动Apache时使用该路径.

PATH=$PATH:/your/addtional/path

对于nginx,您可以将您想要的路径作为fastcgi_param传递

location ~ .php${
    include /etc/nginx/fastcgi.conf;
    fastcgi_pass unix:/tmp/php.socket;
    fastcgi_param PATH /usr/local/bin:/usr/bin:/bin:/your/path;
}

您需要指定所需的整个PATH

进一步更新.

我有php设置为fcgi所以(感谢@MichaelHampton的一些聊天讨论)我发现了系统的路径(…); see是你的php init脚本中设置的一个(在我的例子中是/etc/init.d/php-fcgi).

经过多次挖掘后,我发现this导致了解决方案

env[PATH]=/your/custom/path

在php5-fpm.conf中或@Ali在php5-fpm启动脚本中指出.

(编辑:李大同)

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

    推荐文章
      热点阅读