照明库胶囊对象不接受';addConnection';命令


Illuminate library capsule object not accepting 'addConnection' command

我正在使用Illuminate库在Slim框架中开发一个应用程序。我正在尝试使用Illuminate''database''Capsulate''Manager创建与数据库的连接。有些情况下,它无法识别"addConnection"语句。这是我的完整代码。如果有人能指出我哪里出了问题,那将是非常有帮助的。

require 'lib/vendor/PHPMailer/PHPMailerAutoload.php';
require 'lib/init.php';
require 'lib/Slim/Slim.php';
date_default_timezone_set('UTC');
use lib'Slim'Middleware'SessionCookie;
'Slim'Slim::registerAutoloader();

use Illuminate'Database'Capsule'Manager as Capsule;
$capsule = new Capsule;

$capsule->addConnection(array(
    'driver'    => 'mysql',
    'host'      => 'localhost',
    'database'  => 'mydatabase',
    'username'  => 'myusername',
    'password'  => 'mypassword',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
));
use Illuminate'Events'Dispatcher;
use Illuminate'Container'Container;
$capsule->setEventDispatcher(new Dispatcher(new Container));
// Make this Capsule instance available globally via static methods... (optional)
$capsule->setAsGlobal();
// Setup the Eloquent ORM... (optional; unless you've used setEventDispatcher())
$capsule->bootEloquent();
$app->run();

这是脚本停止和应用程序进入"无响应"状态的地方。

$capsule->addConnection(数组('driver'=>'mysql','host'=>'localhost',"数据库"=>"mydatabase",'username'=>'myusername','password'=>'mypassword',"charset"=>"utf8",'排序规则'=>'utf8_unicode_ci','前缀'=>'',));

我已经反复检查了我的数据库详细信息,它们是100%正确的。有人能指出可能是什么原因造成的吗?

更新:

经过测试,我意识到该页面在任何错误的语句上都会出现错误http500。例如,如果我忘记在语句末尾放一个分号,它就会变成500。这表明错误可能是SQL之外的其他原因。是否有任何方法可以启用调试,以便向我显示错误的原因。我也许能从那里找到它?

更新

我已启用调试。它给了我以下错误:

调用未定义的函数Illuminate''Support''value()

"进入‘无响应’状态。"这看起来更像是MySQL服务器的"未响应"。我会投票给无效的主机名。尝试将localhost更改为127.0.0.1。此外(如果支持的话)最好使用mysqli(而不是mysql驱动程序)。

因为如果它冻结了30-60秒,那么在出现任何超时错误之前,它就是超时设置。你有吗?

此外,对于Eloquent用法的"新鲜"示例,您可以在此处找到:https://github.com/mattstauffer/Torch(如果您使用的是laravel 4.2,您应该将分支切换到4.2以用于旧示例)

可能缺少包含Illuminate''Support''helpers.php,其中函数value()定义为此

if (! function_exists('value')) {
    /**
     * Return the default value of the given value.
     *
     * @param  mixed  $value
     * @return mixed
     */
    function value($value)
    {
        return $value instanceof Closure ? $value() : $value;
    }
}