我知道这里已经多次询问过这个apache / php错误了,我知道FastCgiExternalServer只能用同一个名字定义一次。
但是我还是无法摆脱这个问题。我的设置非常简单,我有两个虚拟主机。我删除了\ etc \ apache2 \ conf.d \ php5-fpm.local.conf中的全局fastcgi处理程序。
在\ etc \ apache2 \ sites-enabled中我只有2个站点,default.conf和phpmyadmin.conf
Default.conf:
<IfModule mod_fastcgi.c>
<FilesMatch \.php$>
SetHandler php5-fcgi
</FilesMatch>
Action php5-fcgi /php5-fcgi
Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /var/run/php5-fpm.sock -pass-header Authorization
</IfModule>
phpmyadmin.conf:
<IfModule mod_fastcgi.c>
<FilesMatch \.php$>
SetHandler phpmyadmin-fcgi
</FilesMatch>
Action phpmyadmin-fcgi /php5-fcgi-phpmyadmin virtual
Alias /php5-fcgi-phpmyadmin /usr/lib/cgi-bin/phpmyadmin-fcgi
FastCgiExternalServer /usr/lib/cgi-bin/phpmyadmin-fcgi -socket /var/run/phpmyadmin-fpm.sock -pass-header Authorization
</IfModule>
我仍然得到这个错误。为了确保我在一些隐藏的配置文件中没有使用相同的名称,我在phpmyadmin.conf中尝试了一些愚蠢的名字,比如
Alias /php5-fcgi-phpmyadmin /usr/lib/cgi-bin/pleasework
FastCgiExternalServer /usr/lib/cgi-bin/pleasework -socket /var/run/phpmyadmin-fpm.sock -pass-header Authorization
和
$apache2ctl configtest
Syntax error on line 15 of /etc/apache2/sites-enabled/phpmyadmin.conf:
FastCgiExternalServer: redefinition of previously defined class "/usr/lib/cgi-bin/pleasework"
Action 'configtest' failed.
我真的不知道问题出在哪里。
答案 0 :(得分:0)
没有答案?我有一个有效的解决方案,所以我在这里为搜索引擎做了一些输入......
FastCgiExternalServer
预期的第一个参数是一种uniq键,它会稍微绑定到外部服务器,这个doc:
https://docs.oracle.com/cd/B31017_01/web.1013/q20204/mod_fastcgi.html#FastCgiExternalServer
表示:
&#34;文件名不必存在于本地文件系统中。&#34;
解决方案是为第一个参数使用不同的文件名。
FastCgiExternalServer /usr/lib/cgi-bin/pleasework -socket /var/run/phpmyadmin-fpm.sock -pass-header Authorization
和
FastCgiExternalServer /usr/lib/cgi-bin/pleasework-ssl -socket /var/run/phpmyadmin-fpm.sock -pass-header Authorization
一些网址,帮助我找到了:
https://serverfault.com/questions/439692/apache-and-multiple-php-fpm-pools https://git.ispconfig.org/ispconfig/ispconfig3/issues/2188