Centos与Debian PHP环境变量问题。

ci1699 2013-07-26 01:03:19
通过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

现在怎么保持一致,有些晕了。
...全文
273 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lazyboy_wu 2013-07-26
  • 打赏
  • 举报
回复
因为php执行时,是web server的当前用户,所以和你直接shell里面的用户是不一致的,如果你想保持一致的话,就别用~,或者在shell中执行python中使用www用户 其实也说明Centos中php执行的当前用户是root 。。。
sdsuper 2013-07-26
  • 打赏
  • 举报
回复
你把文件chown 一下, 用php里面的get_current_user,就应该都是www了
ci1699 2013-07-26
  • 打赏
  • 举报
回复
引用 2 楼 hnxxwyq 的回复:
因为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的主目录。
ci1699 2013-07-26
  • 打赏
  • 举报
回复
引用 1 楼 sdsuper 的回复:
你把文件chown 一下, 用php里面的get_current_user,就应该都是www了
这个没关系。

21,880

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧