2

serverfault でこの質問をしましたが、応答がありませんでした。ここで試してみます...

自宅の Web サーバーでサイトを開発しました。

翻訳ファイルを変更したら、Web サーバー Apache を再起動する必要があります。

/etc/init.d/httpd graceful

簡単...

私のサイトが共有ホストでホストされているとします。

ここで、翻訳ファイルを変更する必要があるとします。

サーバーを再起動できません...

gettextこの文脈でどのように使用しますか?

オプション graceful のみを使用してサーバーを再起動できますか?

この種の問題を解決するために、共有ホストは 1 日 1 回サーバーを再起動しますか?

そのような制約とどのように連携しますか?

4

4 に答える 4

6

電話clearstatcache();

から に翻訳し*.poた後*.mo

于 2013-09-23T06:51:22.030 に答える
2

*.mo ファイルと gettext ドメインの名前を変更して、Apache サーバーを再起動せずに gettext キャッシュをフラッシュできますが、実稼働環境では不適切です。

于 2012-02-06T08:10:39.323 に答える
2

ここの gettext 関数に関する投稿には、Apache を再起動せずに gettext を機能させるための情報が含まれています。

http://www.php.net/manual/en/function.gettext.php#58310

于 2010-02-01T15:50:15.080 に答える
0

*.mo ファイルの 1 つが変更されるたびに、残忍にもすべての *.mo ファイルのキャッシュ ミスを強制する以外に解決策はありません。単一の文字列を変更しますか? 新キャッシュ時代!

これを行うには、すべての *.mo ファイルをタイムスタンプ付きのディレクトリ (タイムスタンプは最新の *.mo ファイルのタイムスタンプ) にコピーし、アプリケーション構成を新しいメッセージ パスで更新するミドルウェアを作成します (最新のタイムスタンプが実際に変更された場合、あれは。したがって、テキストドメインは完全に異なるパスからロードされるようになり、これが最終的に愚かな gettext キャッシュの悪臭を放つ.

于 2015-10-31T17:47:44.490 に答える