[原创]如何通过配置的nginx+php环境执行php脚本程序 – 21运维
通知: .-...

[原创]如何通过配置的nginx+php环境执行php脚本程序

nginx 21运维 4350浏览 0评论

         之前单独针对nginx安装和php安装都做了一个教程,发现还是有必要再写一个如果通过配置nginx的配置文件来执行php的文章,这样才算完美嘛。
         配置nginx教程请参考 linux下如何安装nginx环境配置  图方便的朋友可以通过sh脚本执行安装,查看文章【原创】linux简单自动安装nginx的shell脚本,免去手工安装的麻烦。
        配置php的教程参考 linux环境下安装php 5.5.x
       上边环境配置好以后我们开始配置nginx的配置文件来执行php,其中涉及一些细节需要注意下。
1,编辑nginx.conf配置文件并保存。
在 #pass the PHP scripts to FastCGI server listening on 127.0.0.1:900这行注释代码下边添加如下代码:

location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

2,建立探针测试。

cd  /home/nginx/html
vi tz.php

<!--?php phpinfo(); ?-->

1
访问成功。

其中可能遇到一些细节方面问题,话说我第一次配置的时候,卡到这里的时间可不少,这里说下当时碰到过的问题并总结下:
(1)配置文件添加php执行语句
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 我们添加的是这个。 话说当时我是修改的配置文件参数,心想将注释去掉就行了呗,没那么简单。
默认语句  # fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;   这里的参数有问题,需要改成  $document_root就可以了。
(2)php无法执行,访问提示file not found
看报错明显是php无法执行的提示,需要修改php-fpm.conf 将里边的user修改一下,默认是nobody。
(3)tz.php 空白,短标签没有开启。
之前习惯性的写探针:

&lt;? phpinfo(); ?&gt;

后边发现上传了一个雅黑探针可以执行,卡了好久,问了下基友说是短标签没开导致的,呵呵~~
解决办法修改php.ini 将short_open_tag中的Off改成On就可以了。

 

 

转载请注明:21运维 » [原创]如何通过配置的nginx+php环境执行php脚本程序

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

  1. nginx将会连接回环地址9000端口执行PHP文件,需要使用tcp/ip协议,速度比较慢.建议大家换成使用socket方式连接。将fastcgi_pass 127.0.0.1:9000;改成fastcgi_pass unix:/var/run/phpfpm.sock;
    21运维2016-02-01 17:15 回复