【发布时间】:2013-04-14 04:47:30
【问题描述】:
我在运行 ubuntu 12.04 LTS、Nginx、php-cgi 和 Laravel v3.2.14 的机器上安装了新的 Laravel
我收到以下错误。
未处理的异常
消息: 未定义索引:argv
地点: DOCUMNET ROOT/laravel/core.php 在第 218 行
编辑:
通过注释掉 laravel //Error::shutdown(); 中的错误处理函数,我设法得到了一个更具描述性的错误。在 DOCUMENT ROOT/laravel/laravel.php 第 50 行
请注意,此行不会导致错误,它似乎只是为发生错误的代码注册了一个处理程序。
这是错误:
未处理的异常
消息: 必须在使用会话之前设置驱动程序。
地点: DOCUMENT ROOT/laravel/session.php 第 109 行
堆栈跟踪:
- 文档根目录/laravel/session.php(150): Laravel\Session::instance()
- 文档根目录/laravel/laravel.php(195): Laravel\Session::__callStatic('save', Array)
- 文档根目录/laravel/laravel.php(195): Laravel\Session::save()
- DOCUMENT ROOT/public/index.php(34): require('/mona/developme...')
- {主要}
这些是导致错误的代码块:
if (Config::get('session.driver') !== '')
{
Session::save();
}
在DOCUMENT ROOT/laravel/session.php中调用这个函数
public static function __callStatic($method, $parameters)
{
return call_user_func_array(array(static::instance(), $method), $parameters);
}
$method 包含字符串'save',$parameters 是一个空数组。
【问题讨论】:
-
tbh 我有点困惑。您说它在核心 218(argv 问题)上,然后粘贴两个与该行无关的代码块。我刚刚将我的核心更新到最新,没有问题。我确实想知道这是否是 nginx/php-cgi 问题(尝试使用 php-fpm,反正更好) - 也许服务器变量的那部分没有传递。
-
在注释掉“Error::shutdown();”之后,我将错误跟踪到了那些代码块。在 laravel.php 的第 50 行。我很想把所有东西都切换到 php-fpm,不过这是一个公司问题,我无法控制。
-
@Oddman 我更新了问题以清楚地显示逻辑。感谢您的回复。
-
啊该死的 - 不过很高兴你把它整理好了!