我将我的php版本更改为5.6
但是当我运行composer update
时,它仍然认为我使用的是5.4版本。
我的服务器版本是5.4
,但我将项目目录php版本更改为5.6
。我通过cpanel php配置更改了那个。这是截图:
正如你所看到我将我的项目目录php版本更改为5.6,但是当我运行composer update时,它仍然认为我使用的是5.4版本。
我也尝试在我的composer.json中添加它:
"platform": {
"php": "5.5.9"
}
当我运行composer update时,它会安装一些依赖项,除了最后一个..它给了我这个错误:
Generating autoload files
> Illuminate\Foundation\ComposerScripts::postUpdate
Parse error: syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in /home3/idmadm/public_html/app/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php on line 146
当我检查helpers.php的第146行时,这是代码:
function auth($guard = null)
{
if (is_null($guard)) {
return app(AuthFactory::class); //THIS IS THE CODE!!
} else {
return app(AuthFactory::class)->guard($guard);
}
}
我研究了这个错误,有些人说是因为我的PHP版本。我猜Laravel仍然认为我的PHP版本是5.4,实际上我将其改为5.6。
我怎样才能让Laravel知道我使用的是PHP 5.6版。
请帮忙!
您的帮助将受到高度赞赏和奖励!
谢谢! :)
PS:我之所以在目录中更改PHP版本,是因为我服务器中托管的某些网站不支持PHP 5.5 +。
答案 0 :(得分:0)
删除作曲家并重新安装。因为当你安装composer时,它会写入php文件夹的路径作为路径。你现在应该更新这条路径。
答案 1 :(得分:0)
cpanel的普通服务器有2个PHP:
系统管理员在/ usr / local / cpanel / 3rdparty / bin /上安装composer,这就是现在,PHP 5.4.31
/usr/local/cpanel/3rdparty/bin/php -v
你有两个选择。