【问题标题】:cURL, Google App Engine and namespacescURL、Google App Engine 和命名空间
【发布时间】:2023-03-09 00:01:01
【问题描述】:

我正在尝试将基于 PHP 的 API 从共享主机移植到 Google App Engine。我已经下载了 PHP SDK,在启动器中创建了一个新应用程序,在 php.ini 中启用了 cURL(使用 extension=curl.so),现在我收到了这个错误:

Fatal error: Call to undefined function MyNamespace\curl_init() in C:\Users\David\Desktop\GAE\mysampleapp\classes\myclass.php on line 56

如果我在 curl_init() 中添加一个反斜杠(告诉它不要使用 MyNamespace),我会得到:

Fatal error: Call to undefined function curl_init() in C:\Users\David\Desktop\GAE\mysampleapp\classes\myclass.php on line 56

没有启用 cURL_lite()(我稍后可能会解决,因为它不支持我需要的 cURL 选项),我该如何解决这个问题?

编辑:我的问题与建议的副本不同,因为我关注的是 Google 自己的 instructions for enabling cURL

编辑 2:通过将扩展名更改为 php_curl.dll,我能够在应用引擎 SDK/启动器上运行它。

【问题讨论】:

标签: php google-app-engine curl


【解决方案1】:

GiamPy 的评论让我开始思考,于是我在 php.ini 中启用了 phpinfo(),发现 cURL 根本没有被加载。

我将扩展名更改为 php_curl.dll,它现在可以工作了。一个新手错误(我已经编写 PHP 应用程序 10 多年了),但是这个答案并没有修复实际 App Engine 上的 cURL,直到我在另一个问题中看到一个答案,指出删除扩展行中的引号是有效的给他们。

所以现在我的本地 php.ini 是:

extension="php_curl.dll"

虽然我的 GAE php.ini 是:

extension=curl.so

现在我可以两者都用了。

【讨论】:

  • 太棒了!这可能只是一个愚蠢的错误,毕竟没什么大不了的!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多