一步一步学PHP(1): Windows下配置Nginx + PHP开发环境

[b][size=large]1,下载并安装nginx[/size][/b]
[*] 1.1 下载地址:http://nginx.org/en/download.html
http://nginx.org/download/nginx-1.3.0.zip
[*] 1.2 解压 nginx-1.3.0.zip 到G:\webserver
[*] 1.3 到G:\webserver将nginx-1.3.0文件夹重命名为nginx

[b][size=large]2,启动nginx并测试nginx正常运行[/size][/b]
[*] 2.1 到G:\webserver\nginx执行nginx.exe,在任务管理器可看到nginx.exe进程存在
[*] 2.2 在浏览器输入http://127.0.0.1,可看到"Welcome to nginx!"表示nginx正常运行

[b][size=large]3,了解PHP版本中VC9、VC6、Thread Safe、Non Thread Safe的区别[/size][/b]
[*] 3.1 VC9 版本和 VC6 版本的区别
VC6 版本是使用 Visual Studio 6 编译器编译的,如果你的 PHP 是用 Apache 来架设的,那你就选择 VC6 版本。

VC9 版本是使用 Visual Studio 9(2008) 编译器编译的,如果你的 PHP 是用 IIS 来架设的,那你就选择 VC9 版本。
[*] 3.2 Thread Safe 和 Non Thread Safe 版本的区别
先从字面意思上理解,Thread Safe 是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的 CGI 执行方式而耗尽系统资源。Non Thread Safe 是非线程安全,在执行时不进行线程(Thread)安全检查。

再来看 PHP 的两种执行方式:ISAPI 和 FastCGI。

ISAPI 执行方式是以 DLL 动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以 ISAPI 来执行 PHP,建议选择 Thread Safe 版本;

而 FastCGI 执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI 来执行 PHP,建议选择 Non Thread Safe 版本。

[b][size=large]4,下载并安装php[/size][/b]
[*] 4.1 下载地址:http://windows.php.net/download
http://windows.php.net/downloads/releases/php-5.4.3-nts-Win32-VC9-x86.zip
[*] 4.2 到G:\webserver目录下创建子文件夹php
[*] 4.3 解压php-5.4.3-nts-Win32-VC9-x86.zip 到G:\webserver\php目录下

[b][size=large]5,创建源文件目录[/size][/b]
[*] 5.1 将nginx目录下的html目录拷贝到G:\webserver\目录下,并重命名为webroot

[b][size=large]6,配置并启动nginx[/size][/b]
[*] 6.1 修改G:\webserver\nginx\conf\nginx.conf,与未修改前的区别如下:
[code="shell"]
# diff nginx.conf nginx.conf.default
44,45c44,45
< root G:/webserver/webroot;
< index index.html index.htm index.php;
---
> root html;
> index index.html index.htm;
65,70c65,71
< location ~ \.php$ {
< fastcgi_pass 127.0.0.1:9000;
< fastcgi_index index.php;
< fastcgi_param SCRIPT_FILENAME G:/webserver/webroot$fastcgi_script_name;
< include fastcgi_params;
< }
---
> #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;
> #}
#
[/code]
[*] 6.2 在命令行状态下,到G:\webserver\nginx目录下执行nginx.exe -t 测试配置文件是否正确
[*] 6.3 在G:\webserver\nginx目录下执行nginx.exe启动nginx
[*] 6.4 在命令行状态下,到G:\webserver\nginx目录下执行nginx.exe -s stop停止nginx,nginx.ex -s reload重新加载配置

[b][size=large]7,配置并启动php[/size][/b]
[*] 7.1 到G:\webserver\php目录下,为了保存原始配置文件,拷贝php.ini-development为php.ini.default
[*] 7.2 将php.ini-development重命名为php.ini (这时有php.ini和php.ini.default两个相同的配置文件)
[*] 7.3 打开php.ini,查找short_open_tag = Off 修改为 查找short_open_tag = On
[*] 7.4 为了可以打开常用的扩展,并设置默认时区为重庆,在文件末尾加入如下内容:

extension_dir = "G:\webserver\php\ext"
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_pdo_sqlite.dll
extension=php_sockets.dll
extension=php_sqlite.dll
extension=php_sqlite3.dll
extension=php_exif.dll
date.timezone = Asia/Chongqing

[*] 7.5 和未修改的配置文件php.ini.default对比,区别如下
[code="shell"]
# diff php.ini php.ini.default
211c211
< short_open_tag = On
---
> short_open_tag = Off
1860,1874d1859
<
< extension_dir = "G:\webserver\php\ext"
< extension=php_curl.dll
< extension=php_gd2.dll
< extension=php_mbstring.dll
< extension=php_mysql.dll
< extension=php_mysqli.dll
< extension=php_pdo_mysql.dll
< extension=php_pdo_sqlite.dll
< extension=php_sockets.dll
< extension=php_sqlite.dll
< extension=php_sqlite3.dll
< extension=php_exif.dll
< date.timezone = Asia/Chongqing
<
#
[/code]
[*] 7.6 启动php:G:\webserver\php\php-cgi.exe -b 127.0.0.1:9000 -c G:\webserver\php\php.ini


[b][size=large]8,测试php开发环境配置成功[/size][/b]
[*] 8.1 在webroot目录下创建phpinfo.php,保存如下内容:

<html>
<head>
<title>phpinfo</title>
</head>
<body bgcolor="white" text="black">
<center>
<h1>Welcome to php</h1>
</center>
<?php
phpinfo();
?>
</body>
</html>

[*] 8.2 在浏览器输入http://127.0.0.1/phpinfo.php可看到"Welcome to php"和phpinfo信息,表示php配置成功
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值