插件安装目录无效,Google Analytics

时间:2017-02-07 作者:Michael

在WordPress仪表板中,它表示Google Analytics插件有更新。我点击进行更新,似乎成功了。完成此操作后,我尝试更新另一个插件,但出现了一个错误(见下文)。然后我尝试查看站点(仪表板或其他),但所有内容都出现了相同的错误,没有显示任何页面:

插件安装目录无效。请验证插件的目录名是否等于“googleanalytics”。

换句话说,由于在WordPress仪表板中更新Google Analytics,该网站现已关闭。如何解决上述错误?

Update 1: 在搜索服务器上更改的文件时,我发现生成此错误的代码位于/wp-content/plugins/googleanalytics/googleanalytics.php. 我修改了代码以显示(针对我的IP)要比较的路径。奇怪的是,代码似乎正在搜索字符串[omitted]\\wp-content\\plugins\\googleanalytics\\googleanalytics.php 对于图案/\\/googleanalytics\\// 使用preg_match() 作用函数正在返回false.

Update 2: 源代码(最新版本)可以是found here. 看来previous version 没有此路径检查。

2 个回复
SO网友:MDT

如果重命名插件文件夹googleanalytics 进入其他事物,例如。OLDgoogleanalytics 然后刷新你的网站,错误就消失了。现在您可以访问后端插件页面(可选:重命名文件夹OLDgoogleanalytics 返回到googleanalytics) 您可以看到,尝试启用Google Analytics插件会出现您提到的错误。

我通过注释这段代码暂时修复了错误。

if ( ! preg_match( \'/\\/\' . GA_NAME . \'\\//\', realpath( __FILE__ ), $test ) ) {

echo _( \'Invalid plugin installation directory. Please verify if the plugin\\\'s dir name is equal to "\' . GA_NAME . \'".\' );

// To make able the message above to be displayed in the activation error notice.
die();
}

SO网友:Michael

这个问题似乎是插件开发人员造成的bug。他们显然没有在运行IIS的服务器上测试插件的2.1版。它们执行的字符串搜索假定插件的目录路径使用正斜杠/, 但在IIS上,路径使用反斜杠\\. 要解决此问题,您可以替换realpath( __FILE__ ) 具有str_replace(\'\\\\\', \'/\', realpath( __FILE__ )) 第42行,共页googleanalytics.php. 因此,结果行为:

if ( ! preg_match( \'/\\/\' . GA_NAME . \'\\//\', str_replace(\'\\\\\', \'/\', realpath( __FILE__ )), $test ) ) {

相关推荐

插件放置在/wp-content/plugins内的文件夹中时不保存值

我得到了WordPRess插件的以下代码,它在每个页面/后期编辑屏幕上添加了两个自定义输入。然后将这些值保存并输出到前端页面的标题中。如果代码位于内部,则可以正常工作。php文件并直接放入“wp内容/插件”。然而,如果我把它放在插件(如“wp-content/plugins/myplugin”)中自己的文件夹中,那么在通过编辑屏幕保存帖子/页面时,输入字段不会保存。此外,它不会向前端页面html标题部分输出任何内容。这似乎是一个被放弃的项目,所以我无法与原始开发人员一起制定解决方案。然而,代码中的某些内容