【问题标题】:Laravel 5.5 doesn't recognise ?? when using php artisan key:generateLaravel 5.5 不识别??使用 php artisan key 时:生成
【发布时间】:2018-02-28 22:03:29
【问题描述】:

在将我的 Laravel 项目克隆到服务器后,我一直在尝试使用 php artisan key:generate。但是,我收到以下错误:

Parse error: syntax error, unexpected '?' in /home/user/public_html/Score-Keeper/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php on line 233

打开网站显示Laravel错误:RuntimeException. No application encryption key has been specified.

我在论坛上搜索过类似的问题,发现大多数人在使用 Laravel 5.5 时遇到了错误,并通过升级到 PHP7 来修复它。但是,我已经在本地和服务器上使用 PHP7 几个月了(还制作了一个 phpinfo 文件来确认 PHP7 在这个站点上运行)。

错误消息所指的代码行是下面的返回语句。

return app('cache')->get($arguments[0], $arguments[1] ?? null);

更新: 我在服务器上运行了 php -v,它说它是 PHP 5.6.31 (cli)。我假设我使用的 PHP 7 仅用于网站(在 .htaccess 文件中设置)而不是 cli。是否可以更新 cli 以在共享主机上使用 PHP7?我能找到的唯一适用于 linux 的示例需要 sudo

更新 2(解决方案): 发现 cli 使用的是 PHP 5.6 后,我联系了主机,他们说:

“php”别名的 PHP 版本无法更新,但您可以使用 PHP-CLI 二进制文件的路径来使用您需要的任何 PHP 版本,例如:/usr/local/php70/bin/php-cli

所以我用/usr/local/php71/bin/php-cli artisan migrate代替了php artisan,这解决了问题。

【问题讨论】:

  • 只有在没有运行 php7 时才会出现该错误,在 cli 上运行 php -v 并将其粘贴到您的问题中。
  • 谢谢!我已经更新了问题
  • web 和 artisan/cli 都需要 >=7 - 如果它是共享主机,您需要询问您的主机为什么它在 cli 上只有 5.6 而不是 7。您可以这样做 php -c /path/to/php.ini artisan ... 但我不认为这会有所帮助。
  • 你用的是什么类型的linux?

标签: php laravel-5 laravel-5.5


【解决方案1】:

尝试使用非常适合我的 php 7.1 或 php 7.2.4。

【讨论】:

    猜你喜欢
    • 2018-06-05
    • 2018-03-29
    • 2018-04-01
    • 2023-01-28
    • 2019-04-13
    • 2019-12-26
    • 2017-12-22
    • 2017-07-25
    • 2022-01-15
    相关资源
    最近更新 更多