gpt4 book ai didi

PHP 无法使用 mkdir 创建目录

转载 作者:可可西里 更新时间:2023-10-31 22:06:44 25 4
gpt4 key购买 nike

我有一个以前可用的 PHP 脚本,它能够使用 mkdir 创建一个目录:

$webfolder = "/var/www/html/images/user";
mkdir($webfolder, 0770);

我对文件夹 /var/www/html/images 的权限设置做了一些更改,现在是:

drwxrwx---. myself apache system_u:object_r:httpd_sys_content_t:s0 images

我认为这个文件夹以前属于 apache。但是由于apache作为一个用户组拥有读取、写入和执行的全部权限,我想知道为什么它不能在其中创建一个文件夹。使用 mkdir 生成一个 false bool 值。

问题是由于目录所有权还是其他原因造成的?请注意,我使用的是 PHP 5.4 版。

添加了错误日志:

[Mon Dec 17 11:12:34 2012] [error] [client 127.0.0.1] PHP Warning: mkdir(): Permission denied in /var/www/html/upload on line 33, referer: https://mywebsite.com/referer

最佳答案

答案就在我眼前,但由于对 SELinux 的不熟悉,我错过了。

SELinux 上下文类型应设置为 httpd_sys_content_rw_t 而不是 httpd_sys_content_t 以便该文件夹对于 apache 是可读可写的。使用以下命令递归更改上下文:

# chcon -R -t httpd_sys_content_rw_t /var/www/html/images

真可惜。希望它能帮助遇到此问题的其他人。

关于PHP 无法使用 mkdir 创建目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13908722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com