Thinkphp 版本升级 (错误解决PHP Fatal error: Uncaught Error: Call to undefined function Composer)

1. 进入SSH,输入composer。
2. 如果PHP错误,首先查看服务器安装了多少个版本的PHP,我目前安装的是PHP7.1 7.3 8.1,网站大部分使用的是PHP7.3版本,但这里就算报错的是7.3版本的,和其他2个版本也有关系。
PHP Fatal error: Uncaught Error: Call to undefined function Composer\XdebugHandler\putenv() in phar:///www/server/php/80/bin/composer/vendor/composer/xdebug-handler/src/Process.php:93
3. 主要报错原因,就是putenv函数,在宝塔面板的PHP中被禁用了。查看PHP配置-》禁用函数-》找到这个函数。找到就删除,如果找不到,还报错,就表示受到其他PHP版本的影响。
4. 将其他PHP版本中的禁用函数中的putenv也删除掉。
5. 如果还不行,就删除掉其他的PHP,只留下主PHP版本。
6. 再次回到SSH,输入composer,应该会正常显示了。
7. 查看composer版本,composer -Version。
8. 升级composer版本,composer self-update。
9. 进入thinkphp程序目录中。查看版本,php think version。升级版本输入命令:composer update。
10. 版本升级成功,再次查看版本,php think version,版本号已更新。
11. 在生产环境下,还需要最后把putenv函数列入禁用函数,这是一个配置函数,不禁用,容易被利用。

在thinkphp的程序中,如果要调用版本号,可以在app目录下index.php中(或其他控制器中)写入:

use think\app;
 
$tpVersion = App::VERSION; //把版本号,写入到一个变量中
return view('',[
    
    'tpVersion'=>$tpVersion,
    
]);
© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容