MySQL 5.6导致WP CLI出错

时间:2016-09-25 作者:DavidBrown

我正在MacBook上为本地开发环境运行WP CLI和MAMP。我的WP CLI版本是最新版本(0.24.1)。我刚刚将MAMP升级到其最新版本(4.0.4),该版本还升级到MySQL 5.6。运行升级后,调用任何涉及数据库连接的WP CLI命令时,我开始收到一个致命错误。

例如,仅涉及文件系统的命令(“例如,wp core verify checksums”)会产生预期的结果。但是,例如,“wp插件列表”会导致以下错误:

Warning: mysqli_real_connect(): (HY000/2002): No such file or directory in /Applications/MAMP/htdocs/wp-includes/wp-db.php on line 1490

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /Applications/MAMP/htdocs/wp-includes/wp-db.php on line 1520

Warning: mysql_connect(): No such file or directory in /Applications/MAMP/htdocs/wp-includes/wp-db.php on line 1520

Fatal error: Call to undefined function wp_die() in /Applications/MAMP/htdocs/wp-includes/wp-db.php on line 3103
在搜索时,我没有发现WP-CLI-latest和MySQL 5.6存在任何已知的兼容性问题,但可能我遗漏了一些东西。我更倾向于认为这是一个当地的环境问题。升级后站点功能没有问题,我仍然能够通过Sequel Pro管理MAMP中的数据库。

有什么想法吗?

2 个回复
最合适的回答,由SO网友:DavidBrown 整理而成

已解决问题。问题是默认的PHP版本随着新版本的MAMP而改变,我已经在中设置了路径。bash\\u概要文件到先前MAMP安装的显式版本。一旦我编辑了。bash\\u profile动态查找正在使用的PHP版本,一切都很完美。

SO网友:Mark Kaplun

兼容性问题可能是您的php版本、php设置或/和wordpress版本造成的。“旧的”mysql php库在5.5(IIRC)中被弃用,取而代之的是mysqli库。Wordpress core在当时进行了更改,以在适当的php版本上支持mysqli。

您需要做的是确保您运行的是相对最新版本的wordpress,并且在php设置中启用了mysqli库

相关推荐

WP-CLI插件安装导致PHP致命错误-在不在对象上下文中时使用$This

运行时sudo wp install plugin pluginname --allowroot它会导致错误:PHP致命错误:未捕获错误:在/var/www/html/wp-content/plugins/pluginname/blocks中不在对象上下文中时使用$this。菲律宾比索:89我们有一个自定义插件,其中包含以下内容: class Block{ public static function Run() { add_action(\'e