Modificación de Webmin php-lib.pl
apache perl (1)
He actualizado la versión de PHP a 5.5.26. Con PHP 5.4 mi configuración de Apache con FCGI era:
AddHandler fcgid-script .php
AddHandler fcgid-script .php5
Con la nueva versión de PHP necesito poner otras configuraciones a trabajar:
<FilesMatch /.php$>
SetHandler fcgid-script
</FilesMatch>
Está bien, está funcionando.
Mi problema es con el módulo Virtualmin de Webmin. No quiero cambiar la configuración cada vez, así que he editado el archivo 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]");
}
Pero mi cambio no hace nada, Webmin continúa poniendo las líneas AddHandler
. He reiniciado Webmin, /etc/webmin/module.infos.cache
el archivo /etc/webmin/module.infos.cache
.
En primer lugar, debe usar comillas simples en lugar de comillas dobles para una sintaxis más simple:
...
push(@phplines, ''<FilesMatch /.php$>'');
push(@phplines, ''SetHandler fcgid-script'');
push(@phplines, ''</FilesMatch>'');
...
Verifique este archivo específico para detectar errores de sintaxis con
perl -c /usr/share/webmin/virtual-server/php-lib.pl
Agregue un archivo de registro en algún lugar de este archivo para asegurarse de que este archivo se llame. Por ejemplo, agregue algo como esto antes del código que se muestra arriba:
my $fh;
open($fh, ''>>'', "/tmp/test.log") or die "Couldn''t open: $!";
print $fh "This file is actually used!";
close $fh;
...