php7.4升级php8.0后重启系统网站访问异常问题

安装完php8.0之后也禁用了旧版本php:

    禁用php
    sudo a2dismod php7.4
    启用php
    sudo a2enmod php8.0

也重启了php8.0-fpm服务:

sudo service php8.0-fpm restart

但访问网站报如下异常:

错误日志:

[proxy:error] [pid 304] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /run/php/php7.4-fpm.sock (*) failed
[proxy_fcgi:error] [pid 304] [client ::1:50964] AH01079: failed to make connection to backend: httpd-UDS

发现使用的还是旧版本的php,最后发现是/etc/apache2/conf-enabled目录下使用的还是“php7.4-fpm.conf”,这个conf-enabled目录里都是快捷方式,是/etc/apache2/conf-available目录里文件的快捷方式。

所以,想办法给php8.0-fpm创建一个快捷方式,执行如下命令:

cd /etc/apache2/conf-enabled

ln -s ../conf-available/php8.0-fpm.conf php8.0-fpm.conf

删除旧版本的快捷方式:

rm php7.4-fpm.conf

php7.4升级php8.0后重启系统网站访问异常问题_第1张图片

php7.4升级php8.0后重启系统网站访问异常问题_第2张图片

 然后执行以下命令,启动php8.0-fpm:
 sudo service php8.0-fpm restart

再请求网站,即可正常访问。

--------------------------------------------------------

隔天重启操作系统后还是报如下异常:

 错误日志:

[proxy:error] [pid 304] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /run/php/php8.0-fpm.sock (*) failed
[proxy_fcgi:error] [pid 304] [client ::1:50964] AH01079: failed to make connection to backend: httpd-UDS

最后发现需要手动启动php8.0-fpm服务,执行以下命令就可以了:

sudo service php8.0-fpm start

可能每次重启系统php默认是不开启的吧,那就加一个开机启动脚本,我使用的是Win10子系统,先在Win自启动目录(打开方式:Win+R=>运行=>shell:Startup)下创建一个bat脚本文件,然后在bat文件中调用ubuntu中的脚本文件,bat文件内容:

 脚本作用,以管理员身份运行/etc/init.sh脚本,内容如下:

@echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",0)(window.close)&&exit
cd /d "%~dp0"

C:\Windows\System32\wsl.exe -d Ubuntu-20.04 -u root /etc/init.sh

再在/etc目录下创建了一个init.sh脚本文件,Win系统每次开机时自动执行以下命令:

sudo service mysql start
sudo service php8.0-fpm start
sudo service apache2 start
sudo service xrdp start
sleep 3         #注意注意注意,这里要等待一会儿,不然命令没执行完,窗口就关闭了

php7.4升级php8.0后重启系统网站访问异常问题_第3张图片

 这样每次宿主系统重启时,就会自动启动ubuntu系统中的服务,使网站可以正常访问。

注意:上述Win10自启动目录里的脚本,需要在重启系统后登录账号才会执行。

你可能感兴趣的:(分享类,大数据,php,windows,ubuntu,win10子系统)