PHP opendir()在IIS中失败

问题描述:

我有一个PHP脚本试图打开目录“C:\ Users \ userA \ Desktop”。但是,opendir()调用返回false。这里是我的代码:PHP opendir()在IIS中失败

$path = 'C:\Users\userA\Desktop'; 
var_dump (is_dir($path)); //prints TRUE 
var_dump (is_readable($path)); //prints TRUE 
var_dump (is_writable($path)); //prints TRUE 
var_dump (open_dir($path)); //prints FALSE 

当我从命令行运行上述内容时,一切都为TRUE,并按预期工作。当我通过Web浏览器的Ajax调用运行它时,opendir失败。这在IIS 7.5中运行。我已将该目录的权限设置为“Everyone”的完全权限。但是,它似乎仍然是某种权限问题。我不确定该从哪里出发。

+0

什么版本的PHP? “scandir”呢? – Baba 2013-03-19 19:22:50

+0

'open_dir'或'opendir'? – 2013-03-19 19:24:32

+0

对不起。错字。它是opendir()。 – scott80109 2013-03-19 20:29:30

我找到了我的问题的解决方案。我已将权限添加到“C:\ Users \ userA \ Desktop”。我需要再上一个目录。我将IIS_IUSRS权限授予“C:\ Users \ userA”,并解决了我的问题。

+0

我遇到了这个问题也与Apache和PHP。并发现它实际上是通过文件权利。作为apache用户,我尝试了dir%DIRECTORY%,它列出了所有。 dir%DIRECTORY%/ subdir失败,未找到。 cd%DIRECTORY%/ subdir失败,权限被拒绝。如果不确定,请使用runas/user:serveruser cmd并尝试自己。 – Pihhan 2013-04-25 12:17:29