php - 照亮库胶囊对象不接受 'addConnection' 命令

标签 php mysql illuminate-container

我正在使用 Illuminate 库在 Slim 框架中开发一个应用程序。我正在尝试使用 Illuminate\Database\Capsule\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(array( 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'mydatabase', 'username' => 'myusername', 'password' => 'mypassword', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ));

我一遍又一遍地检查我的数据库详细信息,它们 100% 正确。谁能指出可能是什么原因造成的?

更新:

经过测试,我发现页面在任何错误的语句上都会给出错误http 500。例如,如果我忘记在语句末尾添加分号,则会显示 500。这表明错误可能是 SQL 以外的其他原因。有什么方法可以启用调试,以便它向我显示错误原因。我也许可以从那里找到它?

更新

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

Call to undefined function Illuminate\Support\value()

最佳答案

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

因为如果它卡住大约 30-60 秒,那么在出现任何超时错误之前,它就是超时设置。你收到了吗?

此外,对于 Eloquent 用法的“新鲜”示例,您可以在这里找到:https://github.com/mattstauffer/Torch (如果您使用 laravel 4.2,则应该将分支切换到 4.2 以获取较旧的示例)

关于php - 照亮库胶囊对象不接受 'addConnection' 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36967860/

相关文章:

php - 日期时间格式 +zone FullCalendar 介于 NOW() 之间

php - Zend Controller Router 传递变量

php - 在 facebook api 上创建广告得到 error_subcode 1885833

mysql - WHERE NOT EXISTS 不适用于尾随空格

php - 从 Laravel 集合中获取单个模型

php - 有没有办法以交互方式安装建议的 Composer 包?

Mysql:尝试从许多成本表中更新成本

php - 登录 session 当前日期

Laravel 5.2,LaravelCollective 5.2,未找到类 'Html'

mysql - Lumen/Laravel 5.1 - 调用存储过程似乎提交事务