linux – 为weberver用户设置$PATH

前端之家收集整理的这篇文章主要介绍了linux – 为weberver用户设置$PATH前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我尝试使用不同的方法为所有用户添加$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启动脚本中指出.

原文链接:https://www.f2er.com/linux/399639.html

猜你在找的Linux相关文章