簡體   English   中英

Apache RewriteLock替代使用PHP?

[英]Apache RewriteLock alternative using PHP?

我的服務器在Plesk下運行CentOS,所以據我所知,編輯我的httpd.conf以添加Rewritelock條目不是一種選擇。 也不允許在vhost.config中使用RewriteLock條目,因此我認為我一直在尋找此處所述的替代方案。

作為測試,我成功地使用了這種方法,由於我的輸入位於我的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()確保所有進程都將等待並且在此運行程序中沒有任何請求被打擾?

無需編輯主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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM