php - 从 php 模块读取文件失败,错误号 13

标签 php linux apache module

美好的一天。
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 运行时 - 它不会。
有人知道为什么吗?

谢谢

最佳答案

发现问题了。 用户权限策略由 SELinux 强制执行。 要禁用它,我输入了 #setenforce 0
#service httpd restart

现在可以使用

关于php - 从 php 模块读取文件失败,错误号 13,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10340407/

相关文章:

php - 在 CentOS 上为 Apache 用户创建 SSH key

php - 如何检索并显示二叉树中父节点的所有子节点

php - 为什么php通过mcrypt_encrypt()生成的密文长度与C通过openssl加密库生成的密文长度不同

c - 消息队列(IPC)接收进程不打印C中接收到的数据

c - p 在函数名 pwrite 和 pread 中代表什么?

apache - 403 Forbidden - 无法解决,搜索高低

php - 迁移后的 wordpress 网站无法正常工作

php - 是否值得缓存简单的 MySQL 结果

linux - 来自管道的编号参数

apache - 非 www .htaccess 重定向 - 忽略其他子域