Альтернатива Apache RewriteLock с использованием PHP?

Мой сервер работает с CentOS под Plesk, поэтому редактирование моего httpd.conf для добавления записи Rewritelock не является вариантом, как я ее понимаю. Запись RewriteLock также не разрешена в файле vhost.config, поэтому я думаю, что застрял, глядя на альтернативу, описанную здесь .

В качестве теста я успешно использую этот подход, который слегка изменен, так как мои записи находятся в моем vhost.conf. Я также добавил свою попытку заблокировать файл:

#!/usr/bin/env php <?php /* Extra lines to add to vhost.conf: RewriteEngine On RewriteMap tryme prg:/home/trainee/website/andy RewriteRule (.*\.htm) ${tryme:$1} */ set_time_limit(0); # forever program! $keyboard = fopen("php://stdin","r"); flock($keyboard, LOCK_EX); //lock the file while (1) { $line = trim(fgets($keyboard)); if (preg_match('/^(.*)\.htm$/',$line,$igot)) { print "$igot[1].html\n"; } else { print "$line\n"; } } ?> 

Как обсуждалось здесь , кажется, что любой процесс будет ждать эксклюзивной блокировки, но я не уверен, как лучше всего протестировать. Для тех из вас, кто может знать, будет ли мое использование flock () гарантировать, что все процессы будут ждать, и никакие запросы не будут скремблированы в этой постоянно запущенной программе?

Related of "Альтернатива Apache RewriteLock с использованием PHP?"

Нет необходимости редактировать главный httpd.conf. Plesk позволяет определять настраиваемые директивы apache в отдельном файле конфигурации:

 /var/www/vhosts/domain.com/conf/vhost.conf 

Затем необходимо обновить конфигурацию домена:

Для Plesk 10 и Plesk 11:

 /usr/local/psa/admin/bin/httpdmng --reconfigure-domain domain.com 

Для Plesk 7, 8 и 9:

 /usr/local/psa/admin/sbin/websrvmng --reconfigure-vhost --vhost-name=domain.com