fastcgi不起作用 - 包装器下载不运行

时间:2009-07-13 10:00:29

标签: php apache fastcgi

在我新的Ubuntu 8.04上

我安装了virtualmin。然后我像我在其他服务器(Debian)上那样设置了fastcgi。 我有小问题。当我打开网站而不是运行fastcgi包装时,它会下载它。这是配置:

<IfModule mod_fastcgi.c>
    FastCgiIpcDir /usr/lib/apache2/fastcgi
    AddHandler fastcgi-script .fcgi
    FastCgiWrapper /usr/local/sbin/suexec
    FastCgiConfig -singleThreshold 1 -autoUpdate -idle-timeout 240 -pass-header HTTP_AUTHORIZATION
</IfModule>

website.conf:

<IfModule mod_fastcgi.c>
    FastCgiIpcDir /usr/lib/apache2/fastcgi
    AddHandler fastcgi-script .fcgi
    FastCgiWrapper /usr/local/sbin/suexec
    FastCgiConfig -singleThreshold 1 -autoUpdate -idle-timeout 240 -pass-header HTTP_AUTHORIZATION
</IfModule>

/ home / przepisy / php-fastcgi / php5-fcgi

   SuexecUserGroup "#1002" "#1003"  
   DocumentRoot /home/przepisy/public_html  
   ScriptAlias /php-fastcgi/ /home/przepisy/php-fastcgi/  
   AddHandler php-fastcgi .php  
   AddType application/x-httpd-php .php  
   Action php-fastcgi /php-fastcgi/php5-fcgi  
   DirectoryIndex index.html index.php  
   <Directory /home/przepisy/public_html>  
    Options -Indexes +ExecCGI FollowSymLinks  
    allow from all  
    AllowOverride All  
   </Directory>  

所以,如果我访问网站,它会给它随机名称,当我查看下载的内容时,它会显示php5-fcgi的内容。当我指定php脚本例如index.php时,它选择保存并显示php5-fcgi的内容... 在这个阶段我不知道。 这个配置在Debian上运行没问题......

1 个答案:

答案 0 :(得分:2)

您需要添加一个部分,告诉Apache使用mod_fastcgi来使用FastCGI执行您的php5-fcgi脚本。尝试将此添加到您的website.conf:

<Location "/php-fastcgi/php5-fcgi">
   Order Deny,Allow
   Deny from All
   Allow from env=REDIRECT_STATUS
   Options ExecCGI
   SetHandler fastcgi-script      
</Location>

SetHandler fastcgi-script部分告诉Apache在执行php5-fcgi脚本时使用mod_fastcgi。 Allow from env=REDIRECT_STATUS阻止访问者通过访问http://mydomain.com/php-fastcgi/php5-fcgi直接下载您的php5-fcgi脚本。

另外,我使用

FastCgiWrapper On

而不是您在示例中列出的suexec二进制文件。我的Apache是​​使用SuEXEC支持编译的,我使用SuexecUserGroup。我的SuEXEC使用这种配置 - 可能值得尝试。

当然我确定你已经检查过了,但请确保你有:

LoadModule fastcgi_module modules/mod_fastcgi.so

在Apache配置中的某处。