Debian 9 + PHP7.0-FPM + NGINX 1.10.3-1 path_info 问题

2023-10-16php开发问题
4

本文介绍了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 问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

PHP实现DeepL翻译API调用
DeepL的翻译效果还是很强大的,如果我们要用php实现DeepL翻译调用,该怎么办呢?以下是代码示例,希望能够帮到需要的朋友。 在这里需要注意,这个DeepL的账户和api申请比较难,不支持中国大陆申请,需要拥有香港或者海外信用卡才行,没账号的话,目前某宝可以...
2025-08-20 php开发问题
168

PHP通过phpspreadsheet导入Excel日期数据处理方法
PHP通过phpspreadsheet导入Excel日期,导入系统后,全部变为了4开头的几位数字,这是为什么呢?原因很简单,将Excel的时间设置问文本,我们就能看到该日期本来的数值,上图对应的数值为: 要怎么解决呢?进行数据转换就行,这里可以封装方法,或者用第三方的...
2024-10-23 php开发问题
287

mediatemple - 无法使用 codeigniter 发送电子邮件
mediatemple - can#39;t send email using codeigniter(mediatemple - 无法使用 codeigniter 发送电子邮件)...
2024-08-23 php开发问题
11

Laravel Gmail 配置错误
Laravel Gmail Configuration Error(Laravel Gmail 配置错误)...
2024-08-23 php开发问题
16

将 PHPMailer 用于 SMTP 的问题
Problem with using PHPMailer for SMTP(将 PHPMailer 用于 SMTP 的问题)...
2024-08-23 php开发问题
4

关于如何在 GoDaddy 服务器中使用 PHPMailer 设置 SMTP 的问题
Issue on how to setup SMTP using PHPMailer in GoDaddy server(关于如何在 GoDaddy 服务器中使用 PHPMailer 设置 SMTP 的问题)...
2024-08-23 php开发问题
17