编译的 PHP 7 缺少 WordPress 中的 mysql 扩展

2022-08-30 18:28:00

我使用适用于以前版本的PHP的配置构建了PHP 7。现在我的WordPress网站收到消息:

您的PHP安装似乎缺少WordPress所需的MySQL扩展。

使用mysqli的其他网站确实有效。我错过了什么?

我还在名称中包含了所有带有mysql的.so文件:

extension=dba.so
extension=mysql.so
extension=mysqli.so
extension=mysqlnd_mysql.so
extension=mysqlnd_mysqli.so
extension=mysqlnd.so
extension=pdo.so
extension=pdo_mysql.so
extension=pdo_odbc.so
extension=odbc.so

答案 1

PHP 7 已完全删除了mysql_*。

您需要使用PDO或mysqli。Wordpress似乎不支持这一点。


答案 2

mysql_*PHP 7.0 中删除了函数,请将代码更新为 mysqliPDO

如果您正在处理用户输入,另请查看预准备语句。减少 SQL 注入的机会

mysqli 连接字符串的示例:

<?php
$mysqli = new mysqli("localhost", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
?>

pdo 连接字符串的示例:

<?php
    $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
?> 

注意:

该 mysqli 示例处理连接错误


推荐