Debian 9 + PHP7.0-FPM + NGINX 1.10.3-1 path_info issue(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 问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Debian 9 + PHP7.0-FPM + NGINX 1.10.3-1 path_info 问题


基础教程推荐
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- 在多维数组中查找最大值 2021-01-01