5

我一直在我的本地机器上开发一个 WordPress 网站并在我自己的服务器上托管。一切运行完美。

自从移至客户端服务器后,编辑器中的某些功能已停止工作。具体来说,那些涉及 ajax 请求的。我研究了一些事情,它die(0)admin-ajax.php以下代码中退出:

// Require an action parameter
if ( empty( $_REQUEST['action'] ) )
    die( '0' );

进一步阅读看到在in$_REQUEST期间被重置如下:wp_magic_quotes()wp-includes/load.php

$_REQUEST = array_merge( $_GET, $_POST );

服务器上的 PHP 设置可能是什么问题,在期间可能会$_REQUEST保持空白?wp_magic_quotes()ajax-admin.php

如果我编辑ajax-admin.php添加$_REQUEST重置:

$_REQUEST = array_merge( $_GET, $_POST );

// Require an action parameter
if ( empty( $_REQUEST['action'] ) )
    die( '0' );

...然后编辑器中的所有 ajax 都可以正常工作。

但我宁愿不编辑核心文件,所以想知道如何更改服务器设置以使用标准文件?

设置详情:
Wordpress 3.4.2
PHP 5.4.5 使用 Apache 2.0 Handler
Unix 服务器

PHP 设置:
request_order:无值
variables_order:GPCS

任何帮助表示赞赏。

4

2 回答 2

2

检查两个指令

1) request_order http://www.php.net/manual/en/ini.core.php#ini.request-order

2) variables_order http://www.php.net/manual/en/ini.core.php#ini.variables-order

于 2012-10-18T13:06:37.700 回答
0

验证您的 php.ini 配置。对于 Get 和 Post,有一个选项 request_order 必须设置为“On”,Value 必须设置为“GP”。

它已关闭..但这就是我在 WAMP 的本地 ini 上的样子。

; request_order
;   Default Value: None
;   Development Value: "GP"
;   Production Value: "GP"
于 2012-10-18T13:04:22.460 回答