UOS(arm64)最初安装的PHP版本是php7.2.3 ,由于漏扫,将php版本先升级到php7.2.24
一、具体操作 1.1 下载PHP7.2.24的deb安装包 PHP7.2.24的deb安装包来源:https://launchpad.net/ubuntu/+source/php7.2
将里面的 arm64.deb都下载到本地。
php7.2.24-deb# lslibapache2-mod-php7.2_7.2.24-0ubuntu0.18.04.10_arm64.deb php7.2-gd_7.2.24-0ubuntu0.18.04.10_arm64.deb php7.2-phpdbg_7.2.24-0ubuntu0.18.04.10_arm64.deblibphp7.2-embed_7.2.24-0ubuntu0.18.04.10_arm64.deb php7.2-gmp_7.2.24-0ubuntu0.18.04.10_arm64.deb php7.2-pspell_7.2.24-0ubuntu0.18.04.10_arm64.debphp7.2-bcmath_7.2.24-0ubuntu0.18.04.10_arm64.deb php7.2-imap_7.2.24-0ubuntu0.18.04.10_arm64.deb php7.2-readline_7.2.24-0ubuntu0.18.04.10_arm64.debphp7.2-bz2_7.2.24-0ubuntu0.18.04.10_arm64.deb php7.2-interbase_7.2.24-0ubuntu0.18.04.10_arm64.deb php7.2-recode_7.2.24-0ubuntu0.18.04.10_arm64.debphp7.2-cgi_7.2.24-0ubuntu0.18.04.10_arm64.deb php7.2-intl_7.2.24-0ubuntu0.18.04.10_arm64.deb php7.2-snmp_7.2.24-0ubuntu0.18.04.10_arm64.debphp7.2-cli_7.2.24-0ubuntu0.18.04.10_arm64.deb php7.2-json_7.2.24-0ubuntu0.18.04.10_arm64.deb php7.2-soap_7.2.24-0ubuntu0.18.04.10_arm64.debphp7.2-common_7.2.24-0ubuntu0.18.04.10_arm64.deb php7.2-ldap_7.2.24-0ubuntu0.18.04.10_arm64.deb php7.2-sqlite3_7.2.24-0ubuntu0.18.04.10_arm64.debphp7.2-curl_7.2.24-0ubuntu0.18.04.10_arm64.deb php7.2-mbstring_7.2.24-0ubuntu0.18.04.10_arm64.deb php7.2-sybase_7.2.24-0ubuntu0.18.04.10_arm64.debphp7.2-dba_7.2.24-0ubuntu0.18.04.10_arm64.deb php7.2-mysql_7.2.24-0ubuntu0.18.04.10_arm64.deb php7.2-tidy_7.2.24-0ubuntu0.18.04.10_arm64.debphp7.2-dev_7.2.24-0ubuntu0.18.04.10_arm64.deb php7.2-odbc_7.2.24-0ubuntu0.18.04.10_arm64.deb php7.2-xml_7.2.24-0ubuntu0.18.04.10_arm64.debphp7.2-enchant_7.2.24-0ubuntu0.18.04.10_arm64.deb php7.2-opcache_7.2.24-0ubuntu0.18.04.10_arm64.deb php7.2-xmlrpc_7.2.24-0ubuntu0.18.04.10_arm64.debphp7.2-fpm_7.2.24-0ubuntu0.18.04.10_arm64.deb php7.2-pgsql_7.2.24-0ubuntu0.18.04.10_arm64.deb php7.2-zip_7.2.24-0ubuntu0.18.04.10_arm64.deb
1.2 卸载旧的php7.2.3#查看已安装的php ,然后复制粘贴卸载即可。 最好执行几次。 apt-cache search php7.2 | awk '{print $1}' | xargs -i echo "apt-get remove --purge {}"
apt-get remove --purge -y php-dsapt-get remove --purge -y php-psapt-get remove --purge -y php-sassapt-get remove --purge -y php-smbclientapt-get remove --purge -y php-tidewaysapt-get remove --purge -y php-uploadprogressapt-get remove --purge -y php7.2-bz2apt-get remove --purge -y php7.2-cliapt-get remove --purge -y php7.2-commonapt-get remove --purge -y php7.2-curlapt-get remove --purge -y php7.2-fpmapt-get remove --purge -y php7.2-gdapt-get remove --purge -y php7.2-gmpapt-get remove --purge -y php7.2-jsonapt-get remove --purge -y php7.2-ldapapt-get remove --purge -y php7.2-mbstringapt-get remove --purge -y php7.2-mysqlapt-get remove --purge -y php7.2-opcacheapt-get remove --purge -y php7.2-pgsqlapt-get remove --purge -y php7.2-readlineapt-get remove --purge -y php7.2-sqlite3apt-get remove --purge -y php7.2-xmlapt-get remove --purge -y php7.2-zip
1.3 安装php7.2.24#有的deb可能会安装失败,但不会影响总体cd /php7.2.24-debdpkg -i *.deb
二、升级PHP后,web页面的排错 2.1 需要添加金仓kdb配置unzip pdo_for_php-7.2.0.zip -d /usr/lib/php/20170718/echo "extension=pdo_kdb.so" >> /etc/php/7.2/mods-available/pdo.ini ln -s /usr/lib/x86_64-linux-gnu/libssl.so.1.1 /usr/lib/x86_64-linux-gnu/libssl.so.6ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 /usr/lib/x86_64-linux-gnu/libcrypto.so.6ln -s /usr/lib/x86_64-linux-gnu/libssl.so.1.1 /usr/lib/x86_64-linux-gnu/libssl.so.10ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 /usr/lib/x86_64-linux-gnu/libcrypto.so.10#检查是否有pdo_kdb扩展php -m/etc/init.d/php-fpm restartnginx -s reload
2.2 访问页面 502 bad Gateway
根据nginx日志 ,有php-fpm,但没有对应端口。 看样子卸载,安装新PHP后,还要做些操作。
排错巡检:查看nginx 、php 、对应启动的端口。
发现没有9000端口, 他nginx通过9000端口与php页面交互。
2022/02/11 15:38:42 [error] 485#485: *4228 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.2.28, server: 192.168.2.28, request: "GET / HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000", host: "192.168.2.28"661 2022/02/11 15:38:43 [error] 485#485: *4231 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.2.28, server: 192.168.2.28, request: "GET / HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000", host: "192.168.2.28"662 2022/02/11 15:38:44 [error] 485#485: *4234 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.2.28, server: 192.168.2.28, request: "GET / HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000", host: "192.168.2.28"663 2022/02/11 15:38:45 [error] 485#485: *4237 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.2.28, server: 192.168.2.28, request: "GET / HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000", host: "192.168.2.28"664 2022/02/11 15:41:06 [error] 485#485: *4239 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: 192.168.2.28, request: "G ET /IT_home/IT_abnormalNotice.php?id=1644303665273225687 HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000", host: "localhost"
处理方法:
参考:http://www.manongjc.com/article/25049.html 《ubuntu php7.2 fpm-php 未监听9000端口问题》
END