美好的一天 在PHP中加载了一个PHP模块(.so)。在MINIT阶段,它尝试读取文件 该文件是/tmp/aaa.txt 目录/ tmp属于root,其权限设置为777 文件/tmp/aaa.txt属于apache用户,也设置为777权限。
模块使用VCWD_FOPEN()打开文件,该文件定义为
#define VCWD_FOPEN(path, mode) virtual_fopen(path, mode TSRMLS_CC)
最终是一个fopen()。
VCWD_FOPEN
失败,错误13(权限被拒绝)
奇怪的是,如果我手动调用模块
( #php -r 'echo "hi";' )
- 它有效。
但是当它从apache运行时 - 它没有
谁知道为什么?
谢谢
答案 0 :(得分:0)
发现问题。
用户权限策略由SELinux强制执行。
要禁用它,我输入
#setenforce 0
#service httpd restart
立即投放