一、准备工具:
php5.6 下载网址:http://nginx.org/en/download.html
nginx 下载网址:http://windows.php.net/download/
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的进程。
浏览器地址输入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来解决
启动成功后的界面是:
四、用php下载symfony
先把php目录加入环境变量中去。
1.打开doc窗口,输入cd \来到c盘根目录下,运行命令
2.php -r "readfile('http://symfony.com/installer');" > symfony.phar
下载了 symfony.phar到c盘根目录下。
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;
#}
中的注释全部打开,并且配置为:
。其中root;是项目所在目录,我们把项目目录设置在c:\symfony2.7下,,再配置如图:
这样,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欢迎页面,整合成功!!!!