我还在学习,所以请多多包涵。
我安装了 Apache、php 和 mysql 并运行了一些虚拟主机,使用 certbot 来保护域,一切都很好。我可以访问域,运行脚本等。
我还有一个内部 RAID 1 阵列,它被格式化为 ext4 并/media/mcp/Vault
使用 fstab 中的以下条目安装到:
/dev/disk/by-uuid/e80c874e-b7cf-4cd0-ab00-1b1a43b88516 /media/mcp/Vault auto nosuid,nodev,nofail,x-gvfs-show 0 0
有问题的脚本只/var/www/domain.com/testwrite.php
包含以下代码:
<?php
$dir = '/media/mcp/Vault';
$files = scandir($dir);
print_r($files);
/media/
由 拥有root:root
并拥有0755
./media/mcp/
由以下人员拥有root:root
并拥有权限0750
/media/mcp/Vault/
由以下人员拥有www-data:www-data
并拥有权限0777
但是,当我运行该脚本时,出现以下错误:
Warning: scandir(/media/mcp/Vault): failed to open dir: Permission denied in /var/www/domain.com/testwrite.php on line 8
Warning: scandir(): (errno 13): Permission denied in /var/www/domain.com/testwrite.php on line 8
8号线$files = scandir($dir);
当然是。
编辑:
我/etc/apache/apache.conf
根据链接的问题添加了以下内容:
<Directory /media/mcp/Vault/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
...并重新启动apache,但没有任何变化;我仍然遇到相同的错误。
然后我更改/mcp/
为 0755 并且 - 我认为 - 这两个更改的组合解决了我的问题。
尝试更改目录下的代码它看起来像
<Directory /media/mcp/Vault/> Options -Indexes AllowOverride All Require all granted </Directory>
希望它有效。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句