【问题标题】:Browser downloading PHP files instead of executing them. Webmin + NGinx浏览器下载 PHP 文件而不是执行它们。 Webmin + Nginx
【发布时间】:2019-04-22 09:24:22
【问题描述】:

问题

我今天尝试从 PHP 7.0 升级到 7.2,结果导致服务器上的网站通过浏览器下载而不是正常执行。

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get purge php7.0 php7.0-common
sudo apt-get install php7.2-curl php7.2-xml php7.2-zip php7.2-gd php7.2-mysql php7.2-mbstring

我的问题

谁能给我一些如何调试的例子?还有关于可能发生的事情的任何其他见解?

我的理论

从技术上讲,我不知道是什么原因造成的,但我的经验告诉我,这是一个文件中的一行,来自 NGinx,需要编辑。

我的尝试

我发现这个问题在 SO 上很常见。但是解决方案缺少关键信息,例如文件路径,或者它们引用的文件路径在我的系统上不存在,或者建议的解决方案无法解决问题。

许多文章提到了 PHP FPM 和/或 FastCGI 的配置。但我无法确定如何确认这些是否已安装/运行,以及标准 Web 服务器的正确配置是什么样的。

有什么帮助

我确实将我的 /etc/nginx/nginx.conf 文件从 default_type application/octet-stream; 更新为 default_type text/html;,这已经停止了文件的下载,但导致出现空白页。包括我的phpinfo.php

我的环境

  • AWS EC2 小型
  • Ubuntu 18.04
  • NGinx 1.10.3
  • Webmin
  • 虚拟机

【问题讨论】:

  • 我在 apache 环境中遇到过几次同样的问题。我不太了解 nginx 的想法,但请检查 vhost 文件以及您的 htaccess。大多数时候,这就是问题所在。
  • 谢谢,但只有 Apache 使用 .htaccess,我正在运行 NGinx,它使用全局和站点特定的 nginx.conf 文件。
  • 您能否通过检查我的 vhosts 文件详细说明您的意思?
  • 对不起兄弟。请尝试在serverfault.com 上发布您的问题。 stackoverflow 比服务器问题更适合编程问题。

标签: php nginx php-7.2 webmin virtualmin


【解决方案1】:

你的域配置NGINX...错了...

错过了 FastCGI 参数 ...

例子:

location ~ [^ /] \. php (/ | $) {
fastcgi_split_path_info ^ (. + \. php) (/.+) $;
fastcgi_index index.php;
fastcgi_pass unix: /var/run/php/php7.2-fpm.sock;
include fastcgi_params;
fastcgi_param PATH_INFO $ fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name;
}

祝你好运!发送有关您的进度的消息...

【讨论】:

    猜你喜欢
    • 2014-10-24
    • 2014-06-07
    • 1970-01-01
    • 2021-11-07
    • 1970-01-01
    • 2013-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多