在 PHP 中使用 bootEloquent() 运行 illuminate/database/capsule 时出现解



我正在尝试使用 Slim 和包illuminate/database在 php 环境中建立 mysql 连接。按照文档,我创建了一个新的$capsule实例,我通过 addConnection 方法传递了带有连接数据的数组,然后运行了bootEloquent()方法:

<?php
use IlluminateDatabaseCapsuleManager 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

这个问题似乎与雄辩模型有关。我已经尝试使用不同的版本更新 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"
    }
}

有人可以解释为什么我会遇到这种奇怪的糟糕情况吗?提前谢谢。

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

相关内容

  • 没有找到相关文章

最新更新