glob()无法在Google App Engine上返回结果,在本地运行

时间:2014-03-07 18:47:40

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

我正在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()调用失败。

1 个答案:

答案 0 :(得分:1)

这是一个known issue。明确问题,以便在状态发生变化时获得更新。

与此同时,您是否可以使用opendir / readdir?它有额外的好处,显然是faster