Как вы используете gettext на сервере (Apache), который вы не можете перезапустить? - PullRequest
2 голосов
/ 01 февраля 2010

Я задал этот вопрос по поводу ошибки сервера , но не получил никакого ответа. Я пытаюсь здесь ...

Я разработал сайт на своем веб-сервере дома.

Когда я изменяю файлы перевода, мне нужно перезапустить веб-сервер Apache.

/etc/init.d/httpd graceful

Легко ...

Предположим, что мой сайт размещен на общем хосте.

Предположим, теперь мне нужно изменить файлы перевода.

Я не могу перезапустить сервер ...

Как вы используете gettext в этом контексте?

Разрешено ли перезапускать сервер только с изящной опцией?

Разрешает ли хост общего ресурса перезапускать сервер один раз в день для решения проблемы такого рода?

Как вы работаете с такими ограничениями?

Ответы [ 4 ]

5 голосов
/ 23 сентября 2013

звонок clearstatcache();

после перевода с *.po на *.mo

2 голосов
/ 06 февраля 2012

Вы можете переименовать файл * .mo и ваш домен gettext, чтобы очистить кеш gettext без перезапуска сервера apache. Но в производственной среде это не подходит.

1 голос
/ 01 февраля 2010

сообщение здесь о функции gettext содержит некоторую информацию для того, чтобы заставить gettext работать без перезапуска apache:

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

0 голосов
/ 31 октября 2015

Нет другого решения, кроме как жестоко заставить пропустить кэш для каждого файла * .mo при каждом изменении одного из них. Изменить одну строку? Новая эра кеша!

Я делаю это путем написания промежуточного программного обеспечения, которое копирует все файлы * .mo в каталог с именем метки времени (метка времени совпадает с меткой времени самого нового файла * .mo) и обновляет конфигурацию приложения новым путем к сообщению - если новейшая метка времени на самом деле изменилось, то есть. Таким образом, текстовые домены теперь загружаются по совершенно разным путям, и this - это то, что в конце концов удаляет глупый кеш gettext вонючий мертвец .

...