在外部PHP文件中加载wp-load.php会引发未知错误

时间:2011-07-13 作者:Pippin

我正在加载wp负载。php,以便访问我用来处理表单提交的php文件中的WP函数。

在localhost和我测试过的每台服务器上(除了一台之外),一切都很好。但是,它不适用于一个特定的服务器(在rackspace上运行)。

我这样加载它:

$oldURL = dirname(__FILE__);
$newURL = str_replace(DIRECTORY_SEPARATOR . \'wp-content\' . DIRECTORY_SEPARATOR . \'plugins\' . DIRECTORY_SEPARATOR . \'cgc-post-image-gallery\' . DIRECTORY_SEPARATOR . \'includes\', \'\', $oldURL);
include($newURL . DIRECTORY_SEPARATOR . \'wp-load.php\');
这是一个名为process submission的文件。提交表单时调用的php。提交表单后会引发错误。

遗憾的是,服务器配置为不显示实际错误,只显示发生了错误。

真正奇怪的是,我在加载wp-load的服务器和站点上运行了另一个插件(我写的)。php以完全相同的方式,只是它工作得非常好!

通过一些测试,我已经能够确定在到达include()函数时抛出错误。

我想也许这个文件正在加载wp-load。php和加载该文件的另一个插件(正在运行的插件)可能会导致冲突,但另一个插件仍然可以很好地工作。此外,这两个文件都没有实际加载到WP中(仅从前端的表单访问),因此没有重新说明任何内容。

是否知道为什么要包含wp负载。php会在这个实例中抛出错误,但不会在另一个实例中抛出错误?

如果我尝试加载wp blog头,也会出现此问题。php

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

好的,我已经修好了。原来有一个php类名被重新声明。在主题中声明一次,在插件中声明一次。

结束

相关推荐

在WordPress之外使用wp-load.php时出现问题

我正在尝试使用wp load。php在wordpress之外的页面中,这样我就可以访问wordpress中的所有函数。通常我只包含如下文件require( $_SERVER[\'DOCUMENT_ROOT\'].\'/blog/wp-load.php\' ); 但它似乎不起作用。关于可能发生的事情有什么建议吗?谢谢,保罗