迁移到新服务器上的PHP网站,使用浏览器访问时提示“不支持MySQL”等信息,如何处理?

问题描述

PHP网站(该网站需使用PHP执行程序代码)迁移到新服务器后,在使用浏览器访问时提示如下任意一种信息。

  • 系统不支持MySQL。
  • PHP不支持MySQL扩展。
  • 其他类似错误信息,示例如下。其他错误..jpeg

问题原因

因为MySQL扩展功能自PHP 5.5.0版本开始被废弃,并且从PHP 7.0.0版本开始被移除,当网站迁移到新服务器时一般会迁移到PHP 7.0.0及以上版本,由于网站迁移后的新服务器的PHP版本过高,网站程序无法再连接MySQL,导致该问题。

您可以使用php -v命令,查看当前服务器的PHP版本,如图所示。查看PHP版本..jpeg

解决方案

您可以在新服务器上安装并运行5.5.0以下版本的PHP源码包,来为网站提供MySQL扩展功能。

说明

本文操作步骤以在CentOS 7.9操作系统为例,具体操作以您实际的操作系统版本为准。

1、登录迁移后云服务器

2、执行如下命令,安装PHP依赖的软件包。

yum install -y gcc gcc-c++ libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel curl curl-devel libxslt-devel openssl-devel

3、执行如下命令,从PHP官网下载PHP 5.5.0及以下版本的源码包。

wget https://www.php.net/distributions/php-5.4.45.tar.gz

4、安装PHP。

执行如下命令,解压下载的源码包。
tar -zxvf php-5.4.45.tar.gz

执行如下命令,进入源码包目录。
cd php-5.4.45

执行如下命令,安装PHP源码包。
./configure --prefix=/usr/local/php5.4.45 --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysql --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-sockets --enable-sysvsem --enable-xml --enable-zip

如果回显显示Thank you for using PHP,则表示PHP源码包配置成功,如图所示。

迁移到新服务器上的PHP网站,使用浏览器访问时提示“不支持MySQL”等信息,如何处理?

如果安装过程中缺少某个软件包,会出现相关的报错,您可以根据报错提示安装缺失的软件包,然后再重新安装PHP源码包。

5、执行如下命令,编译并安装PHP。

make && make install

等待PHP安装完成即可。

6、配置PHP运行版本为5.4.45版本。

执行如下命令,进入PHP的安装目录。

cd /usr/local/php5.4.45/etc


执行如下命令,把默认的配置文件复制为php-fpm.conf。

cp php-fpm.conf.default php-fpm.conf


执行如下命令,启动PHP服务。

/usr/local/php5.4.45/sbin/php-fpm 

7、重新访问网站。如果访问成功,该问题解决。

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/10122

(0)
凯影的头像凯影
上一篇 2023年11月16日 下午2:46
下一篇 2023年11月17日 下午2:36

相关推荐

  • Linux 查看内核以及系统版本的3种方法

    1、使用uname命令查看 uname命令显示多个系统信息,包括Linux内核体系结构,名称版本和发行版。查看Linux内核版本,输入以下命令: uname -a uname -srm uname -r 2、使用hostnamectl命令查看 3、通过查看 /proc/version 文件确认 /proc 目录包含虚拟文件,其中包含有关系统内存,CPU内核,…

    2023年6月13日
    1.4K00
  • Git:合并多个commit 的高级技巧

    前言 在我们的日常项目开发中,git commit -m 无疑是使用最频繁的指令,这也造成了大量的commit 在我们的分支上。这样常常会带来分支过长、版本过多的问题。 正文 想要解决这个问题,我们通常会对commit 进行合并。 当我们发现两个commit 或多个commit 存在很强的关联性、并且几个commit 加起来也可以成为一个完整的描述的时候,就…

    2023年3月15日
    2.1K00
  • ubuntu修改默认文件权限umask

    在Ubuntu中,umask是一个内置的shell命令,用于确定新创建文件和目录的默认权限。umask值是一个三位或四位的八进制数。这个值被从全权限(即777)中减去,以得到新文件或目录的默认权限。 要临时修改umask值,你可以在命令行中直接输入umask命令,后面跟上你想要的值。例如,要将umask设置为022(这将使新文件的默认权限为755,新目录的默…

    2023年10月16日
    1.8K00
  • 如何在Ubuntu中禁用和启用CPU内核?

    在某些情况下,您可能需要在Ubuntu操作系统中禁用或启用CPU内核。禁用CPU内核可以帮助您降低功耗,提高性能或解决一些与硬件和软件兼容性相关的问题。本文将介绍如何在Ubuntu中禁用和启用CPU内核的方法。 方法一:使用GRUB配置 GRUB是Ubuntu的引导加载程序,您可以通过编辑GRUB配置文件来禁用或启用CPU内核。 这将禁用非核心时钟事件。 方…

    2024年5月24日
    1.3K00
  • Expect解决shell脚本的交互需求

    在linux系统中,shell脚本可以大大提高我们的工作效率。但遇到需要交互的场景时,shell脚本却无法解决。 简介 Expect语言是基于Tcl的。Tcl实际上是一个子程序库,这些子程序库可以嵌入到程序里从而提供语言服务。 最终的语言有点象一个典型的 Shell语言。里面有给变量赋值的set命令,控制程序执行的if,for,continue等命令,还能进…

    2022年11月15日
    1.3K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信