【发布时间】:2017-10-06 11:49:40
【问题描述】:
背景
我的 Windows 10 计算机上安装了 WAMP 服务器 (3.0.6)。我正在使用一些自定义 MySQL 表开发一个 WordPress 网站,所以我使用的是$wpdb。
问题
我在 PHP 7.0.10 上运行,一切都很好。今天早上,我安装了PHP 7.1.4,突然出现这个错误:
致命错误:未捕获错误:调用 ...\wp-includes\wp-db.php:1573 中的未定义函数 mysql_connect()
我深入研究并将问题追溯到__construct() 函数,以及这个if 声明:
if ( function_exists( 'mysqli_connect' ) ) {
var_dump 显示 function_exists( 'mysqli_connect' ) 正在返回 false。
不是答案
问题是不是我没有启用mysqli 扩展:
我尝试过的事情
我已经切换回 7.0.x(错误消失了),删除了 7.1.4,重新安装了 7.1.4,然后又切换回了它。还是不行。
我试过7.1.0,还是不行。
我尝试打开和关闭扩展程序,但没有任何改变。
我尝试将实际的 php_mysqli.dll 文件从工作 7.0.10 目录复制到 7.1.4 目录中,但不起作用。
编辑
根据要求,我添加了来自phpinfo() 的屏幕截图。在 7.0 下,我看到了 mysqli 的 info 部分,而在 7.1 下,该部分丢失了。
【问题讨论】:
-
有趣的是,您决定删除实际的错误消息...
-
phpinfo()说什么? -
在谷歌搜索“WP_USE_EXT_MYSQL”后,因为它在您添加的屏幕截图中,我发现了这个问答wordpress.stackexchange.com/questions/160889/wp-use-ext-mysql - 这个答案wordpress.stackexchange.com/a/237413 状态 “将 WP_USE_EXT_MYSQL 常量设置为 true 会导致 WordPress 使用MySQL 扩展而不是 MySQLi 扩展"。另请参阅那里的其他答案。
-
@AndyMercer 好吧,安迪,我很困惑。我唯一能想到的要问的是;新安装后你重启了吗?您是否指示安装使用包括该路径在内的新旧系统文件?
-
“我知道了!” - 你的意思是"By George, I've got it!" ;-)
标签: php mysqli wampserver php-7.1