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

查看:64
本文介绍了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.

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

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.

推荐答案

我们的一位客户遇到了同样的问题,我们在

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天全站免登陆