在PHP代码中获取多个错误

时间:2012-08-12 23:42:55

标签: php

我正在尝试使用名为"Php Win2K File Manager"的文件管理器 但我收到以下错误

  

不推荐使用:在第166行的C:\ xampp \ htdocs \ test \ explorer.php中弃用了调用时传递引用
  不推荐使用:第214行的C:\ xampp \ htdocs \ test \ explorer.php中不推荐使用Call-time pass-by-reference   警告:opendir(c:/ inetpub / wwwroot /,c:/ inetpub / wwwroot /)[function.opendir]:系统找不到指定的路径。 (代码:3)在第91行的C:\ xampp \ htdocs \ test \ explorer.php中   警告:opendir(c:/ inetpub / wwwroot /)[function.opendir]:无法打开dir:第91行的C:\ xampp \ htdocs \ test \ explorer.php中没有这样的文件或目录

这是为什么?是因为我在Linux服务器而不是Win2K上运行它吗?

My page

1 个答案:

答案 0 :(得分:2)

调用时传递引用意味着变量正在使用前面的&运算符传递给函数。例如(someFunction(&$var);)。

PHP 5.4不推荐使用call-time pass-by-reference,这意味着你不能在函数调用中通过引用传递变量,正确的方法是定义函数,这样变量总是通过引用传递。上述调用的函数定义如下:

function someFunction(&$iAmByReference) {
    $iAmByReference = 42;
}

当你调用它时,你不需要在&变量之前,调用看起来像:

$x = 32;
someFunction($x);
echo $x; // 42

您必须修改代码,以便函数定义将变量声明为引用变量,并从任何函数调用中删除&

你说你在Linux上运行,但鉴于PHP错误消息,你看起来仍然在Windows上。 PHP说你的脚本是C:\xampp\htdocs\test\explorer.php,这是一个Windows路径。

最有可能$_GET['dir']不正确,或者脚本确定路径错误。不知道那里发生了什么,我必须看看你是如何访问脚本的。在第一种情况下,看起来它试图打开一条路径,实际上是用逗号分隔的两条路径。