当前位置: 首页 > 知识库问答 >
问题:

linux - 执行amh命令尝试切换默认php版本,导致AMH面板不可用,如何解决?

东郭翰音
2023-08-16

服务器为 debian 10,安装 AMH 7.0 半年了,创建了 lnmp01 一个环境,除 IP 地址默认主机外,另创建了2个虚拟主机,分别绑定2个.cn域名。安装 AMH 面板时,默认安装了 php-generic-7.4,之后手动安装了 php8.2, 服务器一直都是正常的。
昨天,上传了一份基于 thinkphp 8.0.2 的管理系统到虚拟主机 A.CN,手动创建了 nginx 配置文文件,访问页面提示 Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 8.1.0",但网站环境 lnmp01 是基于 php 8.2 的,肯定是大于 php 8.1。然后登录 ssh 直接执行 php -v 发现版本是 7.4.33,怀疑可能在执行管理系统时,调用了 7.4 版本的php。因为 7.4 版本的php是默认的,就想把系统的默认php版本修改为 8.2。于是百度了一下,找到论坛的这么一个帖子,然后按回答中的方法执行了一条命令。

amh amh-7.0 admin up_engine php-8.2

image.png

image.png

结果出问题了,A.CN 下所有的访问直接是 502 错误,但 B.CN 是正常的。IP:8888 无反应,尝试执行 amh amh-7.0 重启面板,没有效果;重启了服务器,没有效果。后尝试在ssh下修改了了 A.CN 下的nginx 配置文件,将 fastcgi_pass unix:/tmp/php-cgi-amh.sock; 修改为 fastcgi_pass unix:/tmp/php-cgi-lnmp01-A.cn.sock; 奇迹发生了,A.CN 能访问了!但,AMH 面板依然不能方位,IP:8888 依然无反应,php -v 依然是 7.4.33。尝试使用 amh.sh 脚本重装,但提示已安装,没有修复选项。

同时发现,在 A.CN 下的 pbootcms 3.2.5 运行时会报错。

程序运行异常: count(): Argument #1 ($value) must be of type Countable|array, null given,位置:/home/wwwroot/lnmp01/domain/a.cn/web/.cms/core/basic/Kernel.php(9) : eval()'d code(1) : eval()'d code,第2行。

请问:
1、AMH面板出现问题,应该如何修复?
2、在支持 php 8.2 的空间下运行程序却依然提示版本低,是配置上的 XXX.sock 的原因吗?
3、如何让服务器默认的 php 版本修改为 8.2?
4、AMH 面板是否有类似于备份恢复的功能,以防面板崩溃直接导致服务器不可用?

image.png

image.png

image.png

共有1个答案

江浩慨
2023-08-16

要改命令行的默认的php版本,在网站『环境列表』管理页面勾选相应的命令行选项就行了。
不用改其它什么,这个与面板的组件没关系的。

手动改了默认组件面板出错的,先用命令改回来看看,应该用完整的命令,
amh amh-7.0 admin up_engine nginx-generic-1.20 mysql-generic-5.5 php-8.2
可用已经安装的软件版本。

 类似资料: