Nginx 将 php 作为文本提供(想要提供 html,而不是 php)

Nginx 将 php 作为文本提供(想要提供 html,而不是 php)

这是我的基本配置:

server {
  server_name mysite.dev;
  root location/of/my/html;

  location / {
    index index.html;
    try_files $uri $uri/ =404;
  }
}

然而,当我浏览时,mysite.dev我收到一个 php 文件的文本:

<?php  

if(!defined('APPLICATION_ENV')) {
  define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
}

define('ROOT_PATH', realpath(dirname(__FILE__)));
define('LIBRARY_PATH', ROOT_PATH . '/library');

.....etc

事情是这样的,我根本不想提供 PHP。我只想按原样提供文件,不需要服务器端处理。

答案1

有两件事正在发生。

  1. 您确实收到了该文件。您请求的文件是 php 文件。但是,由于 nginx 未配置为通过 php 解释器运行它,因此它只是将文件传送到您的浏览器。如果您不想看到该文件中的 php 代码,请从文件中删除代码或请求不包含 php 代码的文件。

  2. 您的客户端没有与正确的服务器通信。确保客户端解析到正确的机器并且nginx正在处理请求。netstat -lpt | grep http

相关内容