PHP:为什么是我readdir的工作在命令行而不是浏览器?
-
25-09-2019 - |
题
我有2个文件夹: /var/www/vhosts/mydomain.com/httpdocs/ 和 /var/www/vhosts/mydomain.com/httpdocs/duh /
这两个文件夹具有完全相同的烫发,组,所有者,应有尽有。
如果我设置$路径,第一个,没有问题,我在文件名呼应的文件列表与“HTML”。
如果我设置$路径到第二个,它死上执行opendir()。然而,它的工作原理命令行,只是没有浏览器的罚款。
任何想法?
下面是我的代码非常简单:
<?php
$path = "/var/www/vhosts/mydomain.com/httpdocs/duh/";
$img_folder = opendir($path) or die("Unable to open $path");
while (false !== ($file = readdir($img_folder))){
if (eregi("html", $file)){
echo $file;
}
}
?>
解决方案 3
我计算出来。那我工作的服务器为每个虚拟主机的本地配置文件。 safe_mode设置被设定为在本地的conf。
由于这些导致我下来的路径。
其他提示
什么是对duh
文件夹的权限?请记住,Web服务器将在比你的shell帐号不同的用户ID运行。确保目录的模式,0755所以它的所有用户读取。
哎呀,只是你用错误消息的评论。所以,是的,权限错误。 duh
由用户ID 10012拥有,而你的Web服务器的超级用户身份运行。安全模式下将不允许这样做。 'CHOWN' 的目录由root拥有...
当然,为什么是网络服务器运行为根?这是可怕的不安全的。
现在好了,你知道答案:它的safe_mode设置,最丑陋的PHP的特点之一点击 有一些解决方法,但其中最好的是,你可以从该主机运行速度极快!的结果 或找到一种方法来将其禁用。
不隶属于 StackOverflow