我一直在尝试使用php artisan key:在将我的Laravel项目克隆到服务器后生成。但是,我收到以下错误:
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
,这解决了问题。
答案 0 :(得分:0)
尝试使用对我来说非常有效的php 7.1或php 7.2.4。