我在知名主机上有一个共享托管帐户。
我的 Laravel 网站已上传并大部分正常运行。但我必须改变环境。现在我无法让 Laravel 看到更改。
我知道这是常见问题。我尝试运行 artisan 命令来清除配置和缓存( php artisan config:cache & php artisan cache:clear ),但这失败并出现错误:
解析错误:语法错误,意外的“class”(T_CLASS),期望标识符(T_STRING)或变量(T_VARIABLE)或第33行/home4/cmatthewc/cvbaptistapp/artisan中的“{”或“$”
还有其他方法可以让 Laravel 从 env 刷新其缓存吗?
提前TY...
问题
问题在于php cli
服务器的版本。 Laravel 5.6 期望您拥有PHP 7.1.3
或更大。
更具体地说,您收到此错误的确切原因来自文档 http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.class.class:
从 PHP 5.5 开始,class 关键字也用于类名
解决。您可以获得包含完全限定名称的字符串
通过使用 ClassName::class 来创建 ClassName 类。这一点特别
对于命名空间类很有用。
如果你查看第 33 行artisan file https://github.com/laravel/laravel/blob/master/artisan#L33在您的项目根目录中:
$kernel = $app->make(Illuminate\Contracts\Console\Kernel::class);
由于当您通过 CLI 运行命令时服务器运行的是 5.4,PHP 不知道语法的含义,因此会抛出错误。
THE FIX
为了解决这个问题,您需要升级 PHP 版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)