我已经构建了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
发布于 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库。
发布于 2015-12-15 21:04:51
PHP7已经完全删除了mysql_*。
您需要使用PDO或mysqli。Wordpress似乎不支持这一点。
发布于 2015-12-15 21:05:05
在PHP7.0中删除的mysql_*
函数将您的代码更新为mysqli或PDO
如果您正在处理用户输入,还可以查看准备好的语句。减少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示例处理连接错误
https://stackoverflow.com/questions/34289954
复制相似问题