我正在使用不是我编写的代码。这是一个 Laravel 3 应用程序,它给了我以下错误:
PHP 警告:in_array() 期望参数 2 为数组,在第 87 行的 /Users/use/Documents/project/laravel/error.php 中给出 null
你能告诉我如何调试它吗?它在包含在框架中的文件中给出错误。我也使用 php 的内置服务器来运行应用程序。这会导致问题吗?任何指针都是有帮助的。
PS:我在Mac上。
查看源代码后,您似乎从该文件中得到了错误:
// laravel/error.php
// line 86
if (in_array($code, Config::get('error.ignore')))
{
return static::log($exception);
}
该方法似乎正在寻找 error.ignore 配置变量:
// application/config/error.php
// line 16
'ignore' => array(),
检查 application/config/error.php 文件,确保 'ignore' 设置为一个数组。如果它已经存在,那么您可能在损坏阵列的其他配置文件之一中有错误。
希望这会有所帮助,并显示您在追踪错误来源时可以采取的步骤。
如果您正在使用 composer 并且在重新签出项目后尚未安装所需的文件,您也可以得到这个。解决:
$ composer install
或类似的。为了真正了解这些信息,我必须throw $exception
在第 87 行附近的 error.php 文件中找到,然后我在 Apache 错误日志中看到了原因。
大多数错误与参数定义错误有关。
例如有时编码器写
protected $guarded = 'title';
代替
protected $guarded = ['title'];
这使这个问题