Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在Wordpress中设置Widgetkit插件的数据库?_Php_Mysql_Wordpress - Fatal编程技术网

Php 如何在Wordpress中设置Widgetkit插件的数据库?

Php 如何在Wordpress中设置Widgetkit插件的数据库?,php,mysql,wordpress,Php,Mysql,Wordpress,我们在开发服务器上安装了WordPress4.0。我们安装了(付费版本),尽管配置了wordpress数据库(这意味着:WP安装可以顺利完成,我们可以访问管理后端并成功登录) 然而,当尝试创建幻灯片(或图库)时,它不起作用(它不存储在数据库中)。读取日志(apache错误日志)后,我看到以下错误: PHP警告:mysql_real_escape_string():第90行的/path/to/server/www/wp content plugins/widgetkit/helpers/widge

我们在开发服务器上安装了WordPress4.0。我们安装了(付费版本),尽管配置了wordpress数据库(这意味着:WP安装可以顺利完成,我们可以访问管理后端并成功登录)

然而,当尝试创建幻灯片(或图库)时,它不起作用(它不存储在数据库中)。读取日志(apache错误日志)后,我看到以下错误:

PHP警告:mysql_real_escape_string():第90行的/path/to/server/www/wp content plugins/widgetkit/helpers/widget.PHP中的用户'myserverstartuser'@'localhost'(使用密码:否)的访问被拒绝,请参考:

myserverstartuser
代表用于启动服务器的linux用户;默认情况下为
www-data

我在插件中看到这样一行:

'post_content' => mysql_real_escape_string(json_encode($data)),
它不是一个完整的行,而是语句的一部分。然而,问题很清楚:

  • 没有为
    mysql\u real\u escape\u string
    函数传递链接,因此尝试建立并使用新链接。此外,没有打开以前的链接
  • 要建立链接,
    mysql\u connect
    在没有参数的情况下被调用
  • 这样的调用需要正确的参数(与WP安装中的参数相同),并且由于调用没有参数,因此每个参数都会填充默认值(从
    ini\u get
    获得的值)
  • [在整个插件文件夹中搜索后,我注意到]插件本身没有调用
    ini\u set
    ,以确保
    mysql\u connect
    的默认值与wordpress数据库配置中的值匹配
AFAIK不推荐使用mysql扩展,但是这个插件似乎使用了它。列出了我刚才提到的ini值

这意味着:mysql\u real\u escape\u字符串找不到任何链接,因此它尝试使用ini值打开一个新链接。这种ini值从不由插件设置。这意味着,除非我遗漏了什么,否则插件不会链接到实际的Wordpress数据库设置


问题:我所说的完全正确吗?我是否需要下载将数据库配置设置为mysql扩展的默认ini值的内容?或者我在插件配置中遗漏了什么?或者我应该为DB配置中的每个参数手动调用
ini\u set
?如果最后一个是答案:我应该把这样的电话放在哪里?

你可以用widget.php文件中的
$this->db->esc\u like
替换
mysql\u real\u escape\u string

你不需要在答案中添加联系人详细信息。这不是电子邮件!