php没有mysql
‘壹’ “您的 php 安装似乎缺少 WordPress 所需的 Mysql 扩展”,修复cPanel设置多PHP版本无法成功
针对“您的 PHP 安装似乎缺少 WordPress 所需的 MySQL 扩展”的问题,通常可能有以下原因导致:缺少 MySQL 扩展、过时的 WordPress 版本、较低的 PHP 版本,或者是 PHP 扩展配置不当。解决此问题的步骤包括:检查 MySQL 扩展是否启用、确认 PHP 扩展配置正确、检查当前使用的 PHP 版本、并更新 WordPress 核心软件。
对于希望指定更高版本的 PHP,如 PHP 8.0,可通过 WHM(cPanel 面板的管理工具)进行设置。在 WHM 中,通过搜索“EasyApache”找到相应的操作选项,点击进入并设置为 PHP 8.0。确保在配置过程中正确切换至所需的 PHP 版本,并进行下一步操作。
若 PHP 版本为 PHP 8.0 时,需通过 WHM 面板自带的终端执行命令安装 PHP 扩展。在安装 PHP 8.0 的 mysqli 扩展前,确保已安装 mysqli 的依赖项和 PHP 8.0 的开发环境。通过运行“php -v”命令可查看已安装的 PHP 版本,确认是否已成功安装 PHP 8.0.30。
当使用 CGI 处理程序时,Apache Web 服务器的 suEXEC 模块默认开启,这意味着 PHP 脚本在 Linux 系统中由特定用户执行。而 FastCGI 处理程序则代表与托管账户关联的系统用户运行 PHP 脚本,PHP-FPM 是 FastCGI 的高级版本,适用于高负载 Web 应用程序。
“您的 PHP 安装似乎缺少 WordPress 所需的 MySQL 扩展”错误消息背后的原因包括:PHP 版本中缺少 PHP mysqli 扩展、mysqli 扩展配置不正确、使用带有 PHP 7+ 的过时版本的 WordPress。
解决方法包括:在虚拟主机控制面板或使用命令行界面安装 MySQL 本机驱动程序,以启用 WordPress mysqli 扩展。对于使用 cPanel 的 CentOS 服务器,安装包可能称为 php81-php-mysqlnd 或 ea-php81-php-mysqlnd.x86_64。在没有控制面板的 CentOS 服务器上,从命令行界面运行 yum install php81-php-mysqlnd。对于 Ubuntu 服务器,安装 mysqlnd,系统将自动启用 mysqli 和 pdo_mysql 的支持。
确保 MySQL 本机驱动程序或 mysqlnd 已正确安装,并在 PHP 全局配置目录中创建特殊的 PHP 文件,以加载扩展。在 cPanel 服务器上,找到并编辑适当的配置文件(如 30-mysqli.ini 和 20-mysqlnd.ini),确保它们包含正确的行以正确加载扩展。
对于使用过时的 WordPress 和 PHP 7+ 的情况,养成更新软件的习惯至关重要。更新 WordPress、活动主题和所有插件,并始终使用最新的 PHP 版本。使用 WordPress 命令行界面执行所有更新。
当无权访问 WordPress 管理仪表板时,使用命令行界面更新 WordPress。例如,使用 lwp 核心更新、插件更新、主题更新等命令。确保 WordPress 保持最新状态,以避免因过时软件引起的问题。
综上所述,通过检查和更新 PHP 扩展、配置、PHP 版本以及 WordPress,可以解决“您的 PHP 安装似乎缺少 WordPress 所需的 MySQL 扩展”的问题。
‘贰’ 缺少 mysqli 扩展.请检查 PHP 配置
打开你的php.ini->具体看你的安装目录。
找到
;extension=php_msql.dll
;extension=php_mssql.dll
extension=php_mysql.dll
extension=php_mysqli.dll
需要开启哪个扩展,就把这一行前面的分号去掉就行,注意要重启Apache 或者IIS
解决步骤:
1.看看php的ext目录中是否有php_mysqli.dll文件
如果有,继续下面的步骤。没有的话重新装个php
2.打开php.ini,找到
;extension=php_mysqli.dll把前面的;去掉
3.找到;extension_dir="./ext"
把前面的分号";"去掉,改为(相对于php的安装路径的ext目录)
extension_dir = "e:phpext"
e:php为php的存放目录
4.把php.ini拷贝到c:windows下
5.把libmysql.dll复制到Windows下面的System32目录(这个很关键)
6.重新启动IIS(不是网站)
cmd下运行 iisreset/RESTART
如果上面方法还不行,可参考下面方法操作
第一步,输出 phpinfo() 看看 MySQL 模块是否成功装载,如果成功装载说明你见鬼了,否则看第二步,
IIS下phpinfo()无mysql模块是何原因?
原先用的php是.msi安装的,后来全部重来了一次,换成压缩包形式安装的。
又照着配置了php.ini,复制到winnt,复制libmysql.dll到system32。
之后测试成功。。。
第二步,查看 extension_dir 的设置是否正确
第三步,查看是否把 libmysql.dll 文件复制到 c:windowssystem32 下
1、没有正确安装Mysql数据库,在系统服务中Mysql相关的服务没有启动 (请查看正确安装Mysql的方法)
2、在系统的 system32(C:windowssystem32) 目录下缺少 libmysql.dll文件,解决方法是找到php目录下的libmysql.dll,并将libmysql.dll复制到C:windowssystem32目录中,然后重新启动Web服务。
3、在C:windows目录下的php.ini文件中,没有将“;extension=php_mysql.dll”中的前面一个“;”去掉,所以不能使用相应功能,解决方法是打开php.ini文件
4、Mysql目录没有读取权限,正确的目录权限如下:
administrator 完全控制
system 完全控制
user 读取加运行
其他的用户权限全部删除(也可保留,但安全性不高,建议删除),然后重启MYsql服务和Web服务。