0

在将我的 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 语句。

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

因此php artisan,我使用了 ,而不是 ,/usr/local/php71/bin/php-cli artisan migrate这解决了问题。

4

1 回答 1

0

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

于 2018-08-08T03:26:07.770 回答