2015-07-08 2 views
24

Я обновил версию PHP до 5.5.26. С PHP 5.4 моя конфигурация Apache с FCGI был:Webmin php-lib.pl модификация

AddHandler fcgid-script .php 
AddHandler fcgid-script .php5 

С новой версией PHP мне нужно ставить другие конфигурации для работы:

<FilesMatch \.php$> 
    SetHandler fcgid-script 
</FilesMatch> 

Это нормально, это работает.

Моя проблема связана с модулем Virtualmin Webmin. Я не хочу, чтобы изменить конфиг каждый раз, так что я редактировал Perl файл /usr/share/webmin/virtual-server/php-lib.pl:

# Directives for fcgid 
local $dest = "$d->{'home'}/fcgi-bin"; 
#push(@phplines, "AddHandler fcgid-script .php"); 

# New config for PHP files 
push(@phplines, "<FilesMatch \\.php\$>"); 
push(@phplines, "SetHandler fcgid-script"); 
push(@phplines, "</FilesMatch>"); 

push(@phplines, "FCGIWrapper $dest/php$ver.fcgi .php"); 
foreach my $v (&list_available_php_versions($d)) { 
    #push(@phplines, 
    #  "AddHandler fcgid-script .php$v->[0]"); 
    push(@phplines, "FCGIWrapper $dest/php$v->[0].fcgi " . ".php$v->[0]"); 
} 

Но мое изменение не делает ничего, Webmin продолжает положить линии AddHandler. Я перезапустил Webmin, я очистил файл /etc/webmin/module.infos.cache.

+0

Есть ли какая-либо функция разворота? – simbabque

+2

Поместите строку для входа в файл, чтобы подтвердить, что это скрипт, который вызывается webmin – dlporter98

+0

Я думаю, что тег php неверен. – adrian7

ответ

3

Прежде всего, вы должны использовать одинарные кавычки вместо двойных кавычек для более простой синтаксис:

... 
push(@phplines, '<FilesMatch \.php$>'); 
push(@phplines, 'SetHandler fcgid-script'); 
push(@phplines, '</FilesMatch>'); 
... 

Проверить этот конкретный файл на наличие синтаксических ошибок с

perl -c /usr/share/webmin/virtual-server/php-lib.pl 

Добавить в лог-файл где-то в этом файл, поэтому вы уверены, что этот файл вообще вызван. Например. добавьте что-то подобное выше кода, приведенного выше:

my $fh; 
open($fh, '>>', "/tmp/test.log") or die "Couldn't open: $!"; 
print $fh "This file is actually used!"; 
close $fh; 
...