1

我正在运行 WordPress 安装并且遇到了 ajax-loads 问题。每当我使用 admin-ajax.php 脚本时,它都没有返回任何东西,所以我决定去源头看看是什么问题。

事实证明,当我直接访问 /wp-admin/admin-ajax.php 文件时,它会0在浏览器中返回 a 。我清空了文件,保存了它,然后尝试直接访问它,它仍然返回一个0. 我知道我在正确目录中的正确服务器上,因为我在同一个 DIR 中创建了测试文件。

有谁知道为什么会发生这种情况?一个空白的 php 文件(具有 644 权限,以及正确的所有者/组)0在直接导航到它时返回一个?

编辑:当人们跳过那部分时,我突出显示了上面的一句话。我已经清空了文件,它仍然返回0

4

1 回答 1

4

该文件不能直接访问,必须通过 Ajax 调用访问,并且必须传入一些操作参数,如第 28 行中的检查:

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

尝试将您的安装升级到最新版本并检查您的文件大小是否大于 3.75K ...如果您没有安装缓存,那么您不应该从空的 php 文件中获得 0。你使用像 cloudflare 这样的缓存吗?

关于返回的0,请尝试以下代码:

<?php
die('Hello');

它应该返回一个简单的 Hello - 在我这边它至少可以工作:)

于 2017-03-14T23:35:52.230 回答