我正在开发一个插件,它在我的Wordpress网站上运行得很好,但我已经在其他具有不同Wordpress实例的域上进行了测试。当尝试在其他网站上激活插件时,然后在该网站的每个页面上with no other plugins active 它引发以下错误:
警告:mysqli\\u free\\u result():无法在/home/user/websites/website中获取mysqli\\u结果。com/wp包括/wp db。php在线1389
在该插件的某些页面上,还有一个奇怪的错误,告诉它无法在same 声明类的行:
致命错误:无法在/home/user/websites/website.com/wp-content/plugins/plugin\\u-name/models/Utility.php:21中重新声明append()。com/wp-content/plugins/plugin\\u-name/models/Utility。php第21行
可以global $wpdb
或get_option($optionName)
以某种方式导致第一个错误还是什么?在干净的wordpress上,所有这些都可以很好地工作,但在其他一些没有激活插件的网站上就不行了。有人知道这里可能有什么问题吗?
任何建议都将不胜感激,我已经搜索了很多,真的不知道是什么原因造成的。
Edit<经过一些研究,我找到了所有可能导致出现第一个错误的代码行,但我看不出这里出了什么问题,没有什么帮助?
global $wpdb;
$wpdb->prefix;
$wpdb->get_var("show tables like \'".$table."\'");
$wpdb->query(
"CREATE TABLE $tableName (
id varchar(6) NOT NULL,
id_parent varchar(6) NOT NULL,
caption tinytext,
type varchar(11) NOT NULL,
description mediumtext
);");
get_option($optionName);
这些函数调用与代码中的各行函数调用不同,但我敢肯定,只有它们才能导致错误,因为只有这些函数调用才能在任何页面上运行,并且在激活后的每个页面上都会发生错误。此外,我并不是在每个页面上创建表,这就是为什么我有get\\u var,它首先检查表是否存在,如果不存在,则创建它
我应该提到,插件本身实际上可以正常工作,但我仍然在一些wordpress网站上遇到这些错误,我需要消除它们。