Sna*_*rak 24 php apache perl webmin
我已将PHP版本更新为5.5.26.使用PHP 5.4,我使用FCGI的Apache配置是:
AddHandler fcgid-script .php
AddHandler fcgid-script .php5
Run Code Online (Sandbox Code Playgroud)
使用新版本的PHP我需要将其他配置工作:
<FilesMatch \.php$>
SetHandler fcgid-script
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)
没关系,它正在发挥作用.
我的问题是Webmin的Virtualmin模块.我不想每次都更改配置,所以我编辑了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]");
}
Run Code Online (Sandbox Code Playgroud)
但是我的改变没有做任何事,Webmin继续推行AddHandler.我重新启动了Webmin,我清除了文件/etc/webmin/module.infos.cache.
首先,您应该使用单引号而不是双引号以获得更简单的语法:
...
push(@phplines, '<FilesMatch \.php$>');
push(@phplines, 'SetHandler fcgid-script');
push(@phplines, '</FilesMatch>');
...
Run Code Online (Sandbox Code Playgroud)
检查此特定文件是否有语法错误
perl -c /usr/share/webmin/virtual-server/php-lib.pl
Run Code Online (Sandbox Code Playgroud)
在此文件中的某处添加一个日志文件,以便您确定该文件被调用。例如,在上面显示的代码之前添加类似的内容:
my $fh;
open($fh, '>>', "/tmp/test.log") or die "Couldn't open: $!";
print $fh "This file is actually used!";
close $fh;
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
646 次 |
| 最近记录: |