首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >编译后的PHP7在WordPress中缺少mysql扩展

编译后的PHP7在WordPress中缺少mysql扩展
EN

Stack Overflow用户
提问于 2015-12-15 21:00:09
回答 6查看 44.7K关注 0票数 21

我已经构建了PHP7,其配置适用于上一版本的PHP。现在我的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
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2015-12-15 21:13:39

正如在其他地方提到的,ext/mysql函数已被删除。我们被talking about this for some time了。

MySQL /

是为MySQL 3.23构建的,从那时起只增加了很少的内容,同时大部分都保持了与这个旧版本的兼容性,这使得代码更难维护。

如果您非要把它们放回原处,可以使用ext/mysql PECL Library将它们重新添加到PHP7中

需要注意的是,Wordpress 3.9 or later supports mysqli

在WordPress 3.9中,我们向WPDB添加了一个额外的层,使它在使用PHP5.5或更高版本时切换到使用mysqli PHP库。

票数 7
EN

Stack Overflow用户

发布于 2015-12-15 21:04:51

PHP7已经完全删除了mysql_*。

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

票数 17
EN

Stack Overflow用户

发布于 2015-12-15 21:05:05

在PHP7.0中删除的mysql_*函数将您的代码更新为mysqliPDO

如果您正在处理用户输入,还可以查看准备好的语句。减少SQL injections的机会

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示例处理连接错误

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34289954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档