【发布时间】:2015-09-25 19:34:06
【问题描述】:
MySQL 扩展现已弃用,我需要将我的 WordPress 网站转换为 MYSQLI。我是 PHP 的完全初学者,我真的迷路了。
我正在尝试使用转换器工具 (https://github.com/philip/MySQLConverterTool) 并按照这些说明进行操作 https://wikis.oracle.com/display/mysql/Converting+to+MySQLi,但我无法让该工具工作。
我将它上传到我的 SFTP,这是路径 example.com/MySQLConverterTool/GUI/convert_directory.php 但每次我尝试将任何目录转换为 MySQL 时,它都会显示“在指定目录中找不到匹配的文件”。
说明说“将转换器工具指向 WordPress 的安装路径”,并且由于 WordPress 安装在我的根目录上,这是否意味着安装路径是 example.com/ ?我已经尝试过 example.com/wp-content、example.com/wp-admin 等,并且对于我尝试的每个目录,它都会显示“在指定目录中找不到匹配的文件”。
我是否指向错误的目录?该工具是否应该放在不同的文件夹中?
我愿意尝试手动转换为 MySQLI,但我不知道从哪里开始,就像我说我对 PHP 知之甚少。
请帮忙!
【问题讨论】:
-
老实说,我会使用 PDO,它要好得多。但是这些 mysql 调用是从哪里来的呢? WordPress的?我应该认为最新的安装会为您做到这一点。
-
啊,这与 Wordpress 无关。您必须有一些自定义编写的代码,通过 not 使用原生 Wordpress 方法来对抗 Wordpress。否则,Wordpress 将自动选择 mysqli_,因为类似于 2.0.5 而我们现在使用的是 4.2.2。不幸的是,您将无法使用“自动转换器工具”,这些工具被广泛推崇并被认为是实用的,但是它们几乎无法正常工作。
-
该自动转换工具不适用于 WordPress。即使它使用标记器方法,它也只适用于遗留应用程序中散布的字面 mysql_* 调用。像最近的 WP 版本那样更抽象的数据库 API 不是。 -- 如果你不是很懂 PHP,那么不,手动转换也是不可取的。 ——不是说这是一个坏问题。只是无法回答。 (顺便说一句,您可能已经将 URL 与本地文件路径混淆了。)
-
我的 WordPress 是最新的(版本 4.2.2),我只想使用 MySQLI,因为我的整个网站都坏了,当我问我的托管公司该怎么做(WP 引擎)时,他们说我需要将我的代码转换为 MySQLI。
-
好的,关于我需要做什么的任何建议或文档?这是我的网站收到的错误“无法从 wp_simple_shortcodes 成功运行查询(SELECT name, value FROM wp_simple_shortcodes WHERE 1):无法通过套接字 '/var/run/mysqld/mysqld.sock' 连接到本地 MySQL 服务器”( 13)"
标签: php mysql wordpress mysqli migrate