以前都是只配置nginx或者只配置mongodb,现在将其组合起来配合php在windows平台上搭建开发环境。
extension_dir = "./ext"
改为:
extension_dir = "C:/wnmp/php/ext"
继续往下找,找到:
;extension=php_mysql.dll
;extension=php_mysqli.dll
选择性的开启想要php支持的功能,只需要去掉前面分号即可
接下来配置php使其与nginx结合
在php配置文件中找到:
;cgi.fix_pathinfo=1
去掉前面的分号,改为:
cgi.fix_pathinfo=1
第二步:nginx的安装与配置
首先到官网下载最新版本的nginx,解压到C盘的wnmp目录下,并重命名为nginx。接下来,我们来配置nginx,让它能够和php协同工作。进入nginx的conf目录,打开nginx的配置文件nginx.conf,找到
location / {
root html; #这里是站点的根目录
index index.html index.htm;
}
将
root html;改为
root D:/wnmp/www;
继续往下找,找到:
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#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 html;改为root C:/wnmp/www;(此时需要建立www文件夹)。再把标记为红色的/scripts改为“$document_root”,这里的“$document_root”就是指前面“root”所指的站点路径,这是改完后的:
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root D:/wnmp/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
保存配置文件,就可以了。nginx+php的环境就初步配置好了,运行一下看看。我们可以输入命令 :
C:\wnmp\php\php-cgi.exe -b 127.0.0.1:9000 -c C:/wnmp/php/php.ini
来启动php,并手动启动nginx,当然也可以利用脚本来实现。
其实到这里基本上已经完成了php+nginx的配置,但是今天自己配置的时候出现了下面这个问题,如果你也遇到了这样的问题,可以参考下,如果没有,可以跳过这部分
然后就从百度上搜索,有网友遇到了相同的问题,解决方法如下:
1、您可将下载来的msvcr110.dll(文件下载地址:http://download.csdn.net/detail/zhang342789912/6539739)拷贝到指定目录即可(一般是system系统目录或放到软件同级目录里面),或者重新添加文件引用。
2、先将下载下来的文件解压, 然后根据您系统的情况选择X86/X64,X86为32位电脑,X64为64位电脑。默认都是支持32位系统的, 如果您不知道是X86还是X64
3、根据软件情况选择文件版本。此步骤比较复杂,如果是Windows的dll文件,
版本号以5.0开头的或含有 nt 一般是windows2000的文件。
版本号以5.1开头的或含有 xp、xpsp1、xpsp2、xpsp3 信息的一般是windowsXP的文件。
版本号以6.0开头的或含有 longhorn、vista 信息的一般是windowsVista的文件。
版本号以6.1开头的或含有 win7 信息的一般是windows7的文件。 如果不是windows的dll文件,则需要灵活查看版本号、描述、网友提供的信息、以及相关dll的版本号去判断。
4、直接拷贝该文件到系统目录里:
a、Windows 95/98/Me系统,将msvcr110.dll复制到C:\Windows\System目录下。
b、Windows NT/2000系统,将msvcr110.dll复制到C:\WINNT\System32目录下。
c、Windows XP/WIN7/Vista系统,将msvcr110.dll复制到C:\Windows\System32目录下。
d、如果您的系统是64位的请将文件复制到C:\Windows\SysWOW64目录
第三步:下载RunHiddenConsole.zip地址:http://download.csdn.net/detail/zhang342789912/6540035
首先把下载好的RunHiddenConsole.zip包解压到nginx目录内,RunHiddenConsole.exe的作用是在执行完命令行脚本后可以自动关闭脚本,而从脚本中开启的进程不被关闭。然后来创建脚本,命名为“start_nginx.bat”,我们在Notepad++里来编辑它
@echo off
REM Windows 下无效
REM set PHP_FCGI_CHILDREN=5
REM 每个进程处理的最大请求数,或设置为 Windows 环境变量
set PHP_FCGI_MAX_REQUESTS=1000
echo Starting PHP FastCGI...
RunHiddenConsole C:/wnmp/php/php-cgi.exe -b 127.0.0.1:9000 -c C:/wnmp/php/php.ini
echo Starting nginx...
RunHiddenConsole C:/wnmp/nginx/nginx.exe -p C:/wnmp/nginx
@echo off
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit
nginx配置好后,目录结构大概是这个样子的:
这样,我们的服务脚本也都创建完毕了。双击start_nginx.bat看看进程管理器会发现有两个nginx.exe的进程和一个php-cgi.exe的进程
第四步:mongodb的下载与安装
mongodb的下载与安装前些时间我已经写过了,可以参考http://blog.csdn.net/zhang342789912/article/details/9930973
下载和安装好mongodb后就可以配置mongodb,是php支持mongodb了
首先,下载mongo的PHP驱动,下载地址:http://download.csdn.net/detail/zhang342789912/6540095
a、确定自己的PHP版本(phpinfo()函数可以列出自己的php版本)
b、按照是否线程安全选择相应版本(有nts字样的是非线程安全的(not thread safe),如果是apache服务器选择线程安全的,如果是用CGI方式运行就是非线程安全的)。
c、确定自己操作系统版本。(有64字样的是64位操作系统,没有的就是32位的)
比如:
php_mongo-1.3.0RC3-5.4-vc9-nts-x86_64.dll表示 :
PHP 版本为5.4
非线程安全的(nts)
64位操作系统(x86_64)
php_mongo-1.3.0RC3-5.4-vc9.dll 表示:
PHP 版本为5.4
线程安全的(没有nts字样)
32位操作系统(没有明确表明64的,即为32位)
然后找到对应的文件,将其复制到PHP安装目录下的” ext ” 子目录,同时更改文件名为:php_mongo.dll,然后修改php.ini文件,添加:
extension=php_mongo.dll
重新启动apache(或者其他web服务器)
如果启动apache出现下图所示的Warning。则表示你的PHP驱动选择错误,可以尝试其他驱动。