【问题标题】:glob() fails to return results on Google App Engine, works locallyglob() 无法在 Google App Engine 上返回结果,在本地工作
【发布时间】:2014-03-08 06:44:13
【问题描述】:

我正在 Zend Framework 2 上构建一个应用程序,该应用程序最终将在 Google App Engine 上运行。就目前而言,该应用使用 App Engine 的 dev_appserver.py 命令在本地完美运行。但是,一旦将应用程序部署到 App Engine Proper,我会在控制台中收到白屏死机和以下错误:

PHP Fatal error:  Uncaught exception 'Zend\Stdlib\Exception\RuntimeException'
    with message
    'glob('module/{*}/config/autoload/{,*.}{global,local}.php', 1024) failed'

'config/autoload/{,*.}{global,local}.php' 的默认 ZF2 glob 似乎工作正常,因为函数返回结果,但是 glob('module/{*}/config/autoload/{,*.}{global,local}.php', 1024) 返回 false,Zend\Stdlib\ErrorHandler 没有捕获到可见的错误消息。

有没有其他人遇到过这个错误?我怀疑这是由于 GAE 存储文件的方式一旦部署到系统,但我没有使用它足够了解任何一种方式。

application.config.php的相关部分如下:

'module_listener_options' => [
    'config_glob_paths' => [
        'config/autoload/{,*.}{global,local}.php',
        'module/{*}/config/autoload/{,*.}{global,local}.php',
    ],
],

如上所述,它在本地运行时运行良好,但在 GAE 本身上运行时在第二次 glob() 调用时失败。

【问题讨论】:

  • opendir 函数给你同样的错误?
  • 请务必阅读选择标签时出现的说明!
  • 如果zend-framework2 在我输入它们时出现在搜索中,我会使用它。 :)

标签: php google-app-engine zend-framework2 glob


【解决方案1】:

这是一个known issue。为问题加注星标以在其状态更改时得到更新。

在此期间,您可以使用 opendir/readdir 吗?它有一个额外的好处,显然是faster

【讨论】:

  • 干杯。我会密切关注它,同时重写配置加载代码以使用open- / readdir()。可以将其作为选项添加到全局配置中,以便您可以选择是使用 glob 还是手动搜索自动加载文件夹。
猜你喜欢
  • 1970-01-01
  • 2023-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多