【问题标题】:PHP opendir() failing in IISPHP opendir() 在 IIS 中失败
【发布时间】:2013-03-19 19:19:35
【问题描述】:

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

$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 中运行的。我已将该目录的权限设置为“每个人”的完全权限。然而,它似乎仍然是某种权限问题。我不知道从这里去哪里。

【问题讨论】:

  • 什么版本的 PHP ? scandir 呢?
  • open_diropendir?
  • 对不起。错字。它是 opendir()。
  • PHP 版本为 5.3.13。 scandir() 也返回 false。

标签: php windows iis opendir


【解决方案1】:

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

【讨论】:

  • 我在 Apache 和 PHP 中也遇到了这个问题。并发现它确实是通过文件的权利。作为 apache 用户,我尝试了 dir %DIRECTORY%,它列出了所有内容。 dir %DIRECTORY%/subdir 失败,未找到。 cd %DIRECTORY%/subdir 失败,权限被拒绝。如果不确定,请使用 runas /user:serveruser cmd 并尝试自己。
猜你喜欢
  • 2012-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-26
  • 2018-03-20
  • 2012-05-09
  • 2019-01-08
相关资源
最近更新 更多