主机 nginx + docker php-fpm 导致的 file not found 问题

/ 0评 / 0

网上大部分php+docker教程都是将nginx放在docker compose 里作为服务的一部分。但本机主机上已经有nginx,这样的做法有点太多余。

用官方镜像php-fpm+主机 nginx配置完成后出现 file not found 。这其实在意料之中,因为主机nginx的网页路径和php-fpm容器内的网页路径会不同。找不到php文件,自然file not found了。

要解决,方法也很简单,改变nginx传入fastcgi 参数中的脚本路径即可。

大概的配置如下:

location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
        fastcgi_index index.php;
        include fastcgi_params;
}

上面配置中的/var/www/html要改成实际容器中的网站目录所在路径,不过一般默认都是/var/www/html。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注