【问题标题】:extension_loaded('curl') fails on google app engine PHPextension_loaded('curl') 在谷歌应用引擎 PHP 上失败
【发布时间】:2015-02-27 11:55:02
【问题描述】:

根据https://cloud.google.com/appengine/docs/php/#dynamically_loadable_extensionshttps://cloud.google.com/appengine/docs/php/config/php_ini#GAE_directives 的文档

将此添加到 php.ini 应该会加载 curl 扩展:

extension = "curl.so"

同样,添加这个 app.yaml 应该加载一个卷曲的扩展:

google_app_engine.enable_curl_lite = "1"

但是,当通过 php 尝试 extension_loaded('curl') 时,结果是错误的。至少在开发服务器上,我还没有在生产中尝试过。

有什么想法吗?

【问题讨论】:

  • 如果您在 php.ini 中有 extension = "curl.so",则会自动加载扩展。 curl 和 curl_lite 不能同时启用。您需要选择其中一个。
  • 尝试了一个或另一个,同样的事情
  • 您是否按照 piscator 的建议将运行时更改为 php55?
  • 你的开发平台是什么?您是否尝试过将代码推送到生产环境?
  • 您找到解决方法了吗?几天来我一直在为同样的问题苦苦挣扎

标签: php google-app-engine curl


【解决方案1】:

每个文件,

google_app_engine.enable_curl_lite = "1"

应该在php.ini中

【讨论】:

    【解决方案2】:

    我还没有在GAE中使用过这个扩展,但是你有没有把app.yaml中的runtime:php改成runtime:php55?

    https://groups.google.com/forum/#!topic/google-appengine/9PMjrTxVy4w

    【讨论】:

      【解决方案3】:

      要将 curl 与 google app engine 一起使用,您必须在根文件夹(app.yaml 所在的位置)中创建一个 php.ini 文件这段代码:

      google_app_engine.enable_curl_lite = "1"
      

      app.yaml 文件中添加 php55runtime 参数:

      runtime: php55
      

      【讨论】:

        【解决方案4】:

        @edmund - 我通过删除引号解决了这个问题。我无法解释这有何不同,但使用 MacOS 和 GAE 我必须让 php.ini 包含:

        extension=curl.so
        

        干杯!

        【讨论】:

          【解决方案5】:

          另一个可能的答案是您可能已将 app.yaml 文件中的 php.ini 文件列入黑名单:

          skip_files:
          - ^php\.ini$
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2014-03-02
            • 2013-03-13
            • 1970-01-01
            • 2015-07-14
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多