0

你好堆栈溢出社区

我的 zend 框架 2 模块中的自定义路径存在一些问题。我已将以下代码添加到我的 module.config.php :

// custom configuration
'custom' => array(
    'paths' => array(
        'pickUpDir' => '/var/www/beam/public/in/',
        'errorDir' => '/var/www/beam/public/error/',
        'temporaryDir' => '/var/www/beam/module/Beam/temp/',
        'archiveDir' => '/var/www/beam/module/Beam/archive/'
    )
),

现在这在我的虚拟开发服务器上运行良好,但我希望它可以通用,这意味着如果我将 Zend Framework 应用程序放在具有不同文件夹结构的实时服务器上,它应该仍然可以工作。

有没有办法声明相对路径或类似的东西?非常感谢提前

4

2 回答 2

3

魔术常量__DIR__将返回应该是的当前目录/..../Yourmodel/config/

从那里你可以这样做:

'custom' => array(
    'paths' => array(
        'pickUpDir' => __DIR__ . '/../../public/in/',
        'errorDir' => __DIR__ . '/../../public/error/',
        //etc
    )
),
于 2013-09-05T07:26:44.393 回答
1

除了 cptnk 的答案(这也有效),您还可以使用 get_cwd() 函数,该函数将返回您的 webapp 的根目录,这样您就可以编写 stg 之类的

'custom' => array(
    'paths' => array(
        'pickUpDir' => get_cwd() . '/public/in/',
        'errorDir' => get_cwd() . '/public/error/',
        //etc
    )
)

因为 ZF2 将当前工作目录定义为项目的根目录。

于 2013-09-05T16:13:31.353 回答