菲律宾语: "failed to open stream: Permission denied"



当我试图通过一些函数访问任何目录或文件时,我在服务器上得到了一些有趣的结果。我已经设置了我所有的文件&目录权限更改为777,并将内容所有者更改为Apache,但我仍然收到错误消息。代码:
move_uploaded_file($_FILES['file']['tmp_name'], '/var/www/html/fileContent_Site/userData/'.$_SESSION['username'].DIRECTORY_SEPARATOR.$_FILES['file']['name']);
file_put_contents('userData/userData.txt', $result,FILE_APPEND); mkdir("userData/".$register['username']);

对于"move_uploaded_file((",我得到:

move_uploaded_file(/var/www/php/Site/userData/radi/110729.png(:无法打开流:/var/www/hp/Site/upload.php 中的权限被拒绝

move_uploaded_file((:无法将"/tmp/phpUFvMcn"移动到/var/www/php/Site/upload.php 中的"/var/www/hp/Site/userData/radi/110729.png">

对于"file_put_content(("one_answers"mkdir((">

file_put_contents(userData/userData.txt(:无法打开流:/var/www/php/Site/register.php 中的权限被拒绝

mkdir((:/var/www/php/Site/register.php 中的权限被拒绝

  1. 检查运行PHP的所有者。要进行检查,只需将这些字符串添加到您的";file_put_contents";在您的PHP文件中

    回声;当前用户:";。get_current_user((;

    回声;脚本是在用户"下执行的;。exec("hoami"(;

  2. 如果您看到当前用户和"用户"之间的差异;脚本用户";,那么你就发现问题了。

输出示例:

current user: root
script was executed under user: www-data

只需将适当的用户设置到您的PHP文件目录/要从PHP脚本中编写的目录:在Linux终端执行:

chown -R www-data:www-data /path/to/the/folder

请注意,";www数据";用户只是一个例子。你应该使用你从";脚本是在用户"下执行的;输出

第页。S:要检查文件夹所有者,可以使用以下linux命令:

ls -ltr

第页。第S页:检查您的文件夹是否具有正确的访问权限:755文件夹php文件应该具有";644〃;访问权限。

要检查权限,请使用与所有者检查相同的命令:

ls -ltr

你会看到这样的东西:

drwxr-xr-x  10 www-data www-data 4096 Aug  5 15:18 api

其中";drwxr-xr-x";是访问权限。用谷歌搜索,获取更多信息。

打开http.conf(在/opt/lamp/etc/httpd.conf中(文件。

编辑此部分:

<IfModule unixd_module>
#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.  
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User hostname
Group hostname
</IfModule>

看看,如果这有效的话。

使用

$_SERVER["DOCUMENT_ROOT"]."/myFolder/path to upload folder". 

并检查一次

相关内容

  • 没有找到相关文章

最新更新