我刚刚在我的专用服务器上安装了lighttpd,mod_fastcgi已启用,因此我将以下行添加到lighttpd.conf
文件中:
fastcgi.server = ( ".php" =>
( "localhost" =>
(
"socket" => "/tmp/php-fastcgi.socket",
"bin-path" => "/usr/local/bin/php-cgi"
)
)
)
但它仍然无济于事,因为当我尝试在我的网络浏览器中输入PHP文件时,我收到了403 - Forbidden
消息...当我从我的文件中删除index.php
文件时web根目录并将index.html
放在那里,然后一切都很好,没有错误,无论index.php
文件有100行还是只有一行 - <?php echo 'test'; ?>
它总是出现一个403 - Forbidden
,我现在没有想法了。
为什么会这样?
我的网络根目录的 ls -la
:
#
total 6
drwxr-xr-x 15 root wheel 1536 Jul 18 10:23 .
drwxr-xr-x 4 root wheel 512 Jul 18 08:45 ..
drwxr-xr-x 2 www www 512 Jul 1 02:36 cache
drwxr-xr-x 2 www www 512 Jul 1 02:36 config
drwxr-xr-x 6 www www 512 Jul 1 02:36 inc
-rw-r--r-- 1 www www 9 Jul 18 11:02 index.php
答案 0 :(得分:14)
您的php配置不正确。 检查你的lighttpd error.log 它将陈述类似的东西:
(mod_fastcgi.c.1397) [ERROR]: spawning fcgi failed.
我用:
fastcgi.server = ( ".php" => ((
"bin-path" => "/bin/php-cgi",
"socket" => "/tmp/php.socket",
"max-procs" => 1,
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "16",
"PHP_FCGI_MAX_REQUESTS" => "10000"
),
"broken-scriptfilename" => "enable"
)))
确保在modules.conf中启用fastcgi
server.modules = (
"mod_access",
"mod_fastcgi",
# "mod_alias",
# "mod_auth",
# "mod_evasive",
# "mod_redirect",
# "mod_rewrite",
# "mod_setenv",
# "mod_usertrack",
)
答案 1 :(得分:10)
同样的问题,Mint的修复是安装php5-cgi包。
sudo apt-get install php5-cgi
启用fastcgi模块
sudo lighttpd-enable-mod fastcgi fastcgi-php
最后重新加载
sudo service lighttpd force-reload
答案 2 :(得分:6)
我有同样的问题。修复就像移动配置文件一样简单,因此启用了。我所做的只是......
$ ln -s /etc/lighttpd/conf-available/10-fastcgi.conf /etc/lighttpd/conf-enabled/
$ ln -s /etc/lighttpd/conf-available/15-fastcgi-php.conf /etc/lighttpd/conf-enabled/
并重新加载......
$ service lighttpd force-reload
答案 3 :(得分:2)
在ubuntu上你可以这样做:
sudo lighty-enable-mod fastcgi
sudo lighty-enable-mod fastcgi-php
答案 4 :(得分:1)
不太可能,但应该注意作为另一种可能的原因&#34; 403 Forbidden&#34;响应。
检查配置文件(lighttpd.conf)中的任何访问模块(mod_access)语句
示例:
url.access-deny = ( "", ".php");