Debian 9 + PHP7.0-FPM + NGINX 1.10.3-1 path_info 问题 [英] Debian 9 + PHP7.0-FPM + NGINX 1.10.3-1 path_info issue

查看:18
本文介绍了Debian 9 + PHP7.0-FPM + NGINX 1.10.3-1 path_info 问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 DigitalOcean Debian 9 + PHP 7.0 + NGINX 1.10.3-1 并尝试安装 Joomla!CMS,但在第一个安装屏幕 (example.com/installation/index.php) 中,我注意到一个损坏的图像(Joomla 徽标),它看起来像这样:

I'm using DigitalOcean Debian 9 + PHP 7.0 + NGINX 1.10.3-1 and trying to install Joomla! CMS, but at the very first installation screen (example.com/installation/index.php) I've noticed a broken image (which is the Joomla logo), and it looks like this:

该图像的 img src 属性包含/template/images/joomla.png",但该图像实际上位于/installation/template/images/joomla.png",这意味着我缺少/installation"/" 部分.

img src attribute for that image contains "/template/images/joomla.png", but the image is actually located at "/installation/template/images/joomla.png" which means I'm missing the "/installation/" part.

这是我用于 PHP 的 nginx conf 部分:

Here is my nginx conf part for the PHP:

location ~ .php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}

/etc/php/7.0/fpm/php.ini"中的cgi.fix_pathinfo"行没有注释,值改为0.

The "cgi.fix_pathinfo" line at "/etc/php/7.0/fpm/php.ini" is uncommented and the value changed to 0.

/snippets/fastcgi-php.conf"文件包含以下内容:

And the "/snippets/fastcgi-php.conf" file contains the following:

# regex to split $uri to $fastcgi_script_name and $fastcgi_path
fastcgi_split_path_info ^(.+.php)(/.+)$;

# Check that the PHP script exists before passing it
try_files $fastcgi_script_name =404;

# Bypass the fact that try_files resets $fastcgi_path_info
# see: http://trac.nginx.org/nginx/ticket/321
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;

fastcgi_index index.php;
include fastcgi.conf;

我注意到在我评论 PATH_INFO 部分后图像正在加载:

I've noticed that the image is loading once I comment the PATH_INFO part:

set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;

但是我进一步尝试找出问题的根源都没有成功,请帮我解决这个问题.

But all my further attempts to figure out the root of the problem are unsuccessful, please help me to fix this.

推荐答案

我们的一位客户遇到了同样的问题,我们在 这篇文章.本质上,您的 try_files 行不正确.

One of our clients had the same problem, and we explained how to fix it in this post. Essentially, your try_files line is incorrect.

顺便说一下,cgi.fix_pathinfo 必须设置为 1,而不是零(默认为 0,所以取消注释并不能解决问题.)

By the way, the cgi.fix_pathinfo must be set to 1, and not to zero (it defaults to 0, so uncommenting it does not solve the problem.)

这篇关于Debian 9 + PHP7.0-FPM + NGINX 1.10.3-1 path_info 问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆