与WordPress的外部集成超时错误

时间:2017-09-07 作者:Miguel Mesquita Alfaiate

我开发了一个python脚本,可以将信息发送到wordpress站点。

在wordpress站点中,我有一个插件,可以接收数据并对其进行处理。处理所有数据大约需要30分钟到几个小时,其中包括更新woocommerce商店的目录。

插件不时停止,没有任何错误,有时完成时没有问题。这个过程花了一个小时就完成了,有时几分钟后就停止了。

我与主机进行了交谈,在apache的错误日志中找不到任何内容,我有一个由插件生成的日志文件,该文件保存了它正在进行的所有处理,以及来自PHP的通知、警告和错误,它只是停止写入日志,没有明显的原因。

我在php中设置了\\u time\\u limit和ignore\\u user\\u abort,但python脚本似乎有时会与Web服务器失去连接,之后php脚本有时会继续运行,有时会停止。

我认为这可能是某种连接中断,因为没有输出发送到浏览器。我用ob\\u flush和flush做了几个测试,看看是否可以一次将内容发送到浏览器块中,以避免连接丢失。

我的#1个问题是,我如何使用wordpress和/或woocommerce缓冲区、输出压缩等功能,以便将输出发送到浏览器?我现在有一段时间有一个回声,里面有一个睡眠,ob\\u flush和flush,但内容只在这段时间后打印出来。

我的#2问题是征求意见,了解是什么原因导致了这种情况,因为另一个人可能也面临同样的问题。

谢谢你的帮助。

1 个回复
SO网友:Miguel Mesquita Alfaiate

为了防止其他人遇到同样的问题,下面是我能想到的最强大的禁用功能,它似乎如预期的那样工作:

        ini_set(\'max_execution_time\', 0);
        set_time_limit(0);

        ignore_user_abort(true);

        ini_set(\'output_buffering\', \'off\');
        ini_set(\'zlib.output_compression\', false); 
        ini_set(\'implicit_flush\', true);
        ob_implicit_flush(true);

        while (ob_get_level()) {
            ob_end_flush();
        }
        flush();

结束

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register