我在一台运行ubuntu 12.04 LTS、Nginx、php-cgi和Laravel v3.2.14的机器上安装了Laravel
我得到了以下错误。
未处理异常
消息:未定义索引: argv
位置:第218行 DOCUMNET根/laravel/core.php
编辑:
我设法通过注释掉laravel // error中的错误处理函数获得了稍微多一点的描述性错误::shutdown();在DOCUMENT ROOT/laravel/laravel.php的第50行中
请注意,这行不会导致错误,它似乎只是为代码注册了一个处理程序。
以下是错误:
未处理异常
消息:必须在使用会话之前设置驱动程序。
位置:第109行的文档根/laravel/session.php
堆栈跟踪:
以下是导致错误的代码块:
if (Config::get('session.driver') !== '')
{
Session::save();
}在DOCUMENT /laravel/session.php中调用此函数。
public static function __callStatic($method, $parameters)
{
return call_user_func_array(array(static::instance(), $method), $parameters);
}$method包含字符串“save”,而$parameters是一个空数组。
发布于 2013-03-28 04:29:24
Laravel认为,如果您使用的是php-cgi,则cli正在访问它。
解决方案是修改文档ROOT/laravel/request.php,如下所示:
public static function cli()
{
// This is a hack to make laravel work with fast-cgi
// Added by David - 03/27/13
if(!array_key_exists('argv', $_SERVER)) return false;
return defined('STDIN') || (substr(PHP_SAPI, 0, 3) == 'cgi' && getenv('TERM'));
}在返回false之前,检查$_SERVER超级全局是否有'argv‘键,允许cli在使用php时继续工作。
发布于 2013-04-13 20:47:30
受到你的回答的启发,这对我起了作用:
public static function cli()
{
if(array_key_exists('HTTP_HOST', $_SERVER)) return false;
return defined('STDIN') || (substr(PHP_SAPI, 0, 3) == 'cgi' && getenv('TERM'));
}https://stackoverflow.com/questions/15671125
复制相似问题