Home > Backend Development > PHP Tutorial > Centos与Debian PHP环境变量问题。

Centos与Debian PHP环境变量问题。

WBOY
Release: 2016-06-23 14:17:01
Original
1156 people have browsed it

通过PHP shell_exec来执行 shell脚本。
shell脚本中有执行到python,

python脚本,os.path.expanduser('~')
在Centos系统是取到 /root/
而Debian系统是取到 /home/www

PHP的真实用户是www的,但上面shell脚本是以root权限运行的。


Centos下是取到root用户主目录
/root/

而Debian是取到www用户主目录
/home/www

现在怎么保持一致,有些晕了。


回复讨论(解决方案)

你把文件chown 一下,
用php里面的get_current_user,就应该都是www了

因为php执行时,是web server的当前用户,所以和你直接shell里面的用户是不一致的,如果你想保持一致的话,就别用~,或者在shell中执行python中使用www用户

其实也说明Centos中php执行的当前用户是root 。。。

你把文件chown 一下,
用php里面的get_current_user,就应该都是www了

这个没关系。

因为php执行时,是web server的当前用户,所以和你直接shell里面的用户是不一致的,如果你想保持一致的话,就别用~,或者在shell中执行python中使用www用户

其实也说明Centos中php执行的当前用户是root 。。。

有些差错,已解决了,是一致的。
现在都是www用户了,
php脚本(www用户) -> shell_exec() -> C(提权root用户) -> shell脚本(root用户) -> python(反而是www用户)
不太明白python怎么是取到www的主目录。
shell id -u 是0,也就是root的,按道理应该取到root的主目录吧。
python反而取到真实的php用户www的主目录。

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template