搭建nginx1.8.0+php5.6+symfony2(windows下)

一、准备工具:

  1. php5.6        下载网址:http://nginx.org/en/download.html

  2. nginx           下载网址:http://windows.php.net/download/

  3. symfony2    用php命令下载(以下讲讲到)

这里下载的是nginx1.8.0,php5.6.12,symfony2.7,然后全部解压放在c:下

二、安装nginx

打开doc窗口,用命令来到nginx1.8.0的根目录下,你会发现有一个nginx.exe的文件,在doc窗口输入

start nginx.exe启动nginx.exe。启动成功后你会发现任务管理器有一个nginx.exe的进程。

搭建nginx1.8.0+php5.6+symfony2(windows下)_第1张图片搭建nginx1.8.0+php5.6+symfony2(windows下)_第2张图片

浏览器地址输入http://localhost,你会看到nginx欢迎页面,nginx搞定!!!!

ps:nginx常用命令

start nginx.exe

nginx.exe -s reload

nginx.exe -s stop

三、安装php

我的php目录在c:\php5.6.12

PHP:安装及配置

PHP配置:在DedeCMS目录下新建文件夹PHP5,压缩包解压至此目录 D:/wwwroot/PHP5,把php.ini-production重命名为php.ini,用编辑器打开此文件(最好不要用记事本打开),此文件为PHP配置文件。

查找定位至:; extension_dir = "./" ,将前面的分号去掉并修改为:extension_dir = "C:/php5.6.12/ext"

查找定位至:;extension=php_gd2.dll,将前面的分号去掉为:extension=php_gd2.dll

查找定位至:;extension=php_mbstring.dll,将前面的分号去掉为:extension=php_mbstring.dll

查找定位至:;extension=php_mysql.dll,将前面的分号去掉为:extension=php_mysql.dll

查找定位至:;extension=php_mysqli.dll,将前面的分号去掉为:extension=php_mysqli.dll

查找定位至:;extension=php_pdo_mysql.dll,将前面的分号去掉为:extension=php_pdo_mysql.dll

查找定位至:;cgi.force_redirect = 1,将前面的分号去掉为:cgi.force_redirect = 1

查找定位至:;cgi.fix_pathinfo=1,将前面的分号去掉为:cgi.fix_pathinfo=1

查找定位至:;cgi.rfc2616_headers = 0,将前面的分号去掉并改为:cgi.rfc2616_headers = 1

配置文集修改后,我们就可以启动php了

doc命令进入php安装的根目录,输入php-cgi -b 127.0.0.1:9000回车。启动成功后,不要关闭doc窗口

我在服务器上配置时会出现这种错误,

可以参考:http://jingyan.baidu.com/article/4f7d57129fa86e1a201927de.html来解决

启动成功后的界面是:

搭建nginx1.8.0+php5.6+symfony2(windows下)_第3张图片

四、用php下载symfony

先把php目录加入环境变量中去。

1.打开doc窗口,输入cd \来到c盘根目录下,运行命令

2.php -r "readfile('http://symfony.com/installer');" > symfony.phar

下载了 symfony.pharc盘根目录下。

3.然后用php symfony.phar new symfony新建了一个名为symfony的项目

此时,c盘已经有一个symfony项目了。

五、在nginx.conf中添加对php的支持

nginx.conf在nginx根目录下的conf文件夹中,打开,将

        #location ~ \.php$ {

        #    root           html;

        #    fastcgi_pass   127.0.0.1:9000;

        #    fastcgi_index  index.php;

        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

        #    include        fastcgi_params;

        #}

中的注释全部打开,并且配置为:

搭建nginx1.8.0+php5.6+symfony2(windows下)_第4张图片

。其中root;是项目所在目录,我们把项目目录设置在c:\symfony2.7下,,再配置如图:

搭建nginx1.8.0+php5.6+symfony2(windows下)_第5张图片

这样,nginx便支持php的访问。我们在项目目录下新建index.php(即c:\symfony2.7目录下)

<?php  echo "hello php";?>

然后重启nginx,刷新浏览器便看到屏幕输出hello php.

ps:每次修改nginx的配置,都得重启以下nginx!!!

六、nginx整合symfony2.7

我们的项目在c:/symfony2.7,symfony2.7即是整个symfony项目。项目路径必须在nginx.conf的配置中改到c:\symfont2.7\web下。

 #location ~ \.php$ {

         #    root          C:/symfony2.7/web;

         #   fastcgi_pass   127.0.0.1:9000;

         #   fastcgi_index  index.php;

         #  fastcgi_param  SCRIPT_FILENAME  C:/symfony2.7$fastcgi_script_name;

         #   include        fastcgi_params;

        #}

替换成

location ~ \.php {

             fastcgi_pass   127.0.0.1:9000;

             fastcgi_index  app.php;

             include        fastcgi_pathinfo.conf;


             set $real_script_name $fastcgi_script_name;

             set $path_info "";

             if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {

                 set $real_script_name $1;

                 set $path_info $2;

             }


             fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;

             fastcgi_param SCRIPT_NAME     $real_script_name;

             fastcgi_param PATH_INFO       $path_info;

         }

新建文件fastcgi_pathinfo.conf并且写入以下内容:

#fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;

fastcgi_param  QUERY_STRING       $query_string;

fastcgi_param  REQUEST_METHOD     $request_method;

fastcgi_param  CONTENT_TYPE       $content_type;

fastcgi_param  CONTENT_LENGTH     $content_length;


#fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;

fastcgi_param  REQUEST_URI        $request_uri;

fastcgi_param  DOCUMENT_URI       $document_uri;

fastcgi_param  DOCUMENT_ROOT      $document_root;

fastcgi_param  SERVER_PROTOCOL    $server_protocol;

fastcgi_param  HTTPS              $https if_not_empty;


fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;

fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;


fastcgi_param  REMOTE_ADDR        $remote_addr;

fastcgi_param  REMOTE_PORT        $remote_port;

fastcgi_param  SERVER_ADDR        $server_addr;

fastcgi_param  SERVER_PORT        $server_port;

fastcgi_param  SERVER_NAME        $server_name;


# PHP only, required if PHP was built with --enable-force-cgi-redirect

fastcgi_param  REDIRECT_STATUS    200;

保存,放在conf目录下。重启nginx,访问http://localhost/app.php即可看到symfony欢迎页面,整合成功!!!!

搭建nginx1.8.0+php5.6+symfony2(windows下)_第6张图片



你可能感兴趣的:(nginx,PHP,symfony2,symfony2.7)