2017-07-17 16 views
1

私は開発モードでZF3とコードを使用します。チュートリアルのように設定しました。ZF3開発モードVS生産モード

composer development-enable 

このモードを有効にすると、問題なく動作します。無効にすると、次のようなデータベース接続エラーが発生します。

Connect Error: SQLSTATE[HY000] [1044] Access denied for user ''@'localhost' to database 'xyz'

私はまだ同じコンピュータで動作しています。

どのようなエラーが発生する可能性がありますか?

主なトピックは、開発とプロダクションの間でどのように変更するのが正しいか、プロデューサのステートメントはプロダクションコンフィグファイルを使用することを明確にしていますか?

私が作曲家経由でモードを変更した場合、何を追加する必要がありますか?私は本当にblueeyed考え、それだけで無効にするには十分であろう:

composer development-disable 

は、私はまた、開発の設定ファイルの名前を変更する必要がありますか?どのファイルの話をしますか?それはちょうどapplication-config.phpdevelopment-config.phpですか?

どこにどのように異なるデータベース接続を配置する必要がありますか?私は今あなたが上記のファイルを使用します。

最後に、運用サーバーのモードを変更する方法はありますか?私は開発システムのモードを無効にした後、ホールプロジェクトをアップロードしました。その後、私は変更されたファイルのみをアップロードします。

EDIT1:ここで追加screensot、私はどのフォルダに使用した構成ファイル:

'config_glob_paths' => [ 
      realpath(__DIR__) . '/autoload/{{,*.}global,{,*.}local}.php', 
     ], 

と私の開発中: 私application.config.phpでScreenshot config files and folders

設定リンクへ。 config.php設定リンク

'module_listener_options' => [ 
     'config_glob_paths' => [realpath(__DIR__) . '/autoload/{,*.}{global,local}-development.php'], 
     'config_cache_enabled' => false, 
     'module_map_cache_enabled' => false, 
    ], 

私にとっては正しいと思われます。私のデータベース接続はlocal.php(生産用)とlocal-development.php(開発モード用)です。

答えて

3

モードの有効化/無効化は、config/development.config.phpファイルの有無と同じです。

look closelyの場合、開発モードでキャッシュが無効になっていることがわかります。

あなたの問題は、キャッシュファイルが作成されていることです(非devモード)。環境には問題はありません。 config/application.config.phpのようにdata/cache/application.config.cacheapplication.module.cacheを削除します。

+0

ありがとう、それは私の理解の問題でした、今はすべて問題ありません –

0

あなたはdevelopment-mode enable開発)を使用する場合、それはfalseconfig_cache_enabledセットを意味します。 ZF3cachedata/cache/*)から設定を読み取らないため、moduleservicescontrollersなどの新しい設定がZF3でロードされます。

development-mode disable生産)設定がキャッシュされる場合は、ので、私は上記の言及のように、あなたは新しい設定を使用してコードを展開するとき、ZF3で読んでいないだろう。 ZF3はまだcacheの設定を読み込んでいるためです。

私は通常、プロダクションにデプロイするときにキャッシュを削除します。あなただけのコードを展開した後cacheを削除し、development-mode disableを使用する場合はここでサンプルshell script私は、そう

#/bin/bash 
rsync --exclude data --exclude .git -av temp_example.com/. /var/www/example.com/. 
echo -e "Removing cache..." 
rm -f /var/www/example.com/data/cache/*.php 

、メインキーを展開するために使用しました。

関連する問題