0

こんにちは、スタック オーバーフロー コミュニティ

Zend Framework 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の答え(これも機能しています)の代わりに、webappのルートを返すget_cwd()関数を使用して、stgを次のように書くこともできます

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

ZF2 は現在の作業ディレクトリをプロジェクトのルートとして定義しているためです。

于 2013-09-05T16:13:31.353 に答える