我正在尝试使用Slim和包illuminate/database
在php环境中建立mysql连接。在我创建了一个新的$ capsule实例的文档之后,我通过addConnection
方法通过连接数据传递了数组,然后我运行了bootEloquent()
方法:
<?php
use Illuminate\Database\Capsule\Manager as Capsule;
$capsule = new Capsule;
$capsule->addConnection([
'driver' => $app->config->get('db.driver'),
'host' => $app->config->get('db.host'),
'database' => $app->config->get('db.database'),
'username' => $app->config->get('db.username'),
'password' => $app->config->get('db.password'),
'charset' => $app->config->get('db.charset'),
'collation' => $app->config->get('db.collation'),
'prefix' => $app->config->get('db.prefix')
]);
#here the output seems correct...
#var_dump($capsule);
$capsule->bootEloquent();
?>
不幸的是,当我运行bootEloquent()时,它会遇到错误:
解析错误:解析错误 /Sites/auth/vendor/illuminate/database/Eloquent/Model.php 在第597行
问题似乎与 Eloquent Model 有关。 我已经尝试用不同的版本更新composer.json文件。我还安装了每个包,但解析错误仍然存在。
目前该项目正在运行: PHP版本5.6.30。
{
"autoload": {
"psr-4": {
"Business\\": "app/Business"
}
},
"require": {
"slim/slim": "~2.0",
"slim/views": "0.1.*",
"twig/twig": "~1.0",
"phpmailer/phpmailer": "~5.2",
"hassankhan/config": "0.8.*",
"illuminate/database": "~5.0",
"alexgarrett/violin": "2.*",
"ircmaxell/random-lib": "~1.1"
}
}
有人能解释我为什么会遇到这种奇怪的不良情况吗? 提前谢谢。
答案 0 :(得分:1)
查看您的composer.lock
,了解安装了illuminate/database
的版本。后者与PHP 5.6.30不兼容,但需要PHP 7.您可以尝试通过"illuminate/database": "~5.4.0"
强制执行该版本约束