到目前为止,我已经配置了 php-fpm,并且正在运行并监听端口 9000
lighttpd 正在运行并提供静态文件,我遇到的问题似乎是权限问题,因此当我尝试访问 index.php (具有 phpinfo())时,我 chmod 777 -R /srv,浏览器中出现“拒绝访问”。
在我的 fastcgi.conf 中我有
server.modules += ( "mod_fastcgi" )
fastcgi.server += ( ".php" =>
((
"host" => "crunchyboy",
"port" => 9000
))
)
如果我使用浏览器导航到 http://crunchyboy/index.php,我会得到“访问被拒绝”信息,在访问日志中显示为 403,如果我编造一个文件名,如 doesnotexist.php,例如 http://crunchyboy/doesnotexist.php,我会得到 404 文件未找到信息。如果您对 crunchyboy 感到好奇,它是机器的名称,我可以在 LAN 上访问它。例如 http://crunchyboy/index.html 就可以了
如果我使用 systemctl stop php-fpm 停止 php-fpm 并导航到 index.php 我会得到 503 Service Unavailable
所以对我来说,lighttpd 似乎能够向 php-fpm 发出请求,但由于某种原因,无法访问该文件。
我以前(5 年多以前)曾使用 nginx 和 apache 配置过 php-fpm,没有遇到过这个问题。
我真的被这个问题难住了,所以很感激大家提供帮助,或者至少是一些关于我需要看什么的想法。
lighttpd 和 php-fpm 都设置为以用户身份运行:lighttpd 组:lighttpd 它在 opensuse tumbleweed 上,最近更新
提前谢谢了!
答案1
尝试添加"check-local" => "false"
,以便 lighttpd 在将请求发送到 PHP-FPM 后端之前不会尝试访问 .php 文件。
server.modules += ( "mod_fastcgi" )
fastcgi.server += ( ".php" =>
((
"host" => "crunchyboy",
"port" => 9000,
"check-local" => "false"
))
)