【问题标题】:set fopen() deadline with Wordpress on google-app-engine在 google-app-engine 上使用 Wordpress 设置 fopen() 截止日期
【发布时间】:2014-01-06 09:53:21
【问题描述】:

我在 google-app-engine 上运行 Wordpress 3.8。一切正常,除了带有 s2Member® 插件的贝宝退货页面。我认为它与 fopen() 或 URL 获取错误有关。

我的应用程序中的服务器扫描:s2Member® (http://www.s2member.com/kb/server-scanner) 报告以下问题:

[ERROR] cURL Extension / 或 fopen() URL 一个或多个 HTTP 连接 针对 localhost 的测试失败。无法通过 HTTP 连接到自身 — 可能的 DNS 解析问题。无法连接到: http://foto-box.appspot.com

为了运行 s2Member®,您的 PHP 安装需要以下之一: 下面...

  • 通过 PHP 进行远程通信的 cURL 扩展(加上 PHP 的 OpenSSL 扩展)。
  • 或者,在您的 php.ini 文件中设置:allow_url_fopen = on(并为 PHP 启用 OpenSSL 扩展)。

应用引擎日志报告是:

PHP 警告:file_get_contents(http://foto-box.appspot.com):失败 打开流:超过请求截止日期 /base/data/home/apps/s~foto-box/3.372404596384852247/wordpress/s2-server-scanner.php 在第 1002 行

我知道 app-engine 上没有 cURL,但 fopen 应该默认工作。 我该如何准确地修改截止时间以找出问题所在?

我必须在哪里包括

deadline=60 

$options = ["http" => ["timeout" => 60]];
$context = stream_context_create($options);
$data = file_get_contents("http://foo.bar", false, $context);

在我的 wordpress 或 app-engine 文件中究竟是为了增加超时? php.ini、index.php、...还是 wp-config.php?

【问题讨论】:

  • 现在超时有多快?

标签: php google-app-engine fopen


【解决方案1】:

我查看了脚本 - 您可以在第 1000 行更改超时。目前是 5 秒,将其更改为 30 秒。

if(is_resource($_fopen_test_resource = stream_context_create(array('http' => array('timeout' => 5.0, 'ignore_errors' => FALSE)))))

附:最好不要运行从 Internet 下载的任意脚本 - 只是说一下。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-30
    • 2013-10-14
    • 2011-10-29
    • 2018-09-20
    • 2014-05-03
    • 2015-06-22
    • 2011-01-24
    相关资源
    最近更新 更多