使用PHP中的bootEloquent()运行照亮/ database / capsule时解析错误

时间:2018-03-10 02:14:53

标签: php eloquent composer-php slim

我正在尝试使用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。

我当前的作曲家json文件包含所有依赖项

{
    "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"
    }
}

有人能解释我为什么会遇到这种奇怪的不良情况吗? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

查看您的composer.lock,了解安装了illuminate/database的版本。后者与PHP 5.6.30不兼容,但需要PHP 7.您可以尝试通过"illuminate/database": "~5.4.0"强制执行该版本约束