nginx不解析php请求

时间:2010-03-07 02:48:57

标签: php nginx

ENV: ubuntu 9.10 / 使用gotdeb源/ php版本5.3.1 / 安装php5-fpm /

php5-fpm正在运行,并通过以下2个命令监听9000端口测试

pgrep php5-fpm
telnet localhost 9000

但是,如果我从局域网中的anthor计算机访问,请使用此地址

http://192.168.1.103/index.php

浏览器要求我保存这个index.php,但如果访问index.php,一切顺利

启用网站/默认文件内容 ENV: ubuntu 9.10 / 使用gotdeb源/ php版本5.3.1 / 安装php5-fpm /

php5-fpm正在运行,并通过以下2个命令监听9000端口测试

pgrep php5-fpm
telnet localhost 9000

但是,如果我从局域网中的anthor计算机访问,请使用此地址

http://192.168.1.103/index.php

浏览器要求我保存这个index.php,但如果访问index.html,一切顺利

网站启用/默认文件内容

location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000
    fastcgi_index index.php
    fastcgi_param SCRIPT_FILENAME /var/www/$fastcgi_script_name
    include fastcgi_params
}

3 个答案:

答案 0 :(得分:4)

一个常见的陷阱是,当您的代码使用短开放标记<?而不是<?php时,并且在全新安装中未在php.ini中启用它,因此不会对其进行解析。

要启用它,请设置short_open_tag=On

答案 1 :(得分:1)

您似乎需要设置网站的索引。

您可以看到完整示例on nginx's official wiki,但这里是相关部分:

location / {
  index    index.html index.htm index.php;
}

如您所见,虚拟主机需要知道它应该通过它的根目录(即http://domain.com/http://domain.com/site/)访问网站时处理 index.php ,没有指定文件。

答案 2 :(得分:0)

  1. 我有一个索引:

    location / {
        index index.php;
    }
    
  2. 我没有使用<? PHP标记。