Windows下配置PHP本地开发环境

【伍哥原创】

目前很多的PHP工程师还是在windows下进行做PHP开发的,他们需要配置PHP的集成开发环境。如果图方便,可以直接安装WAMP SERVER那样的套件,但是一个不好的地方是,套件里面的版本和我们产品环境的版本很难一致.所以伍哥建议,还是逐个安装PHP、MYSQL、 APACHE,保证使用的版本和线上运行环境的版本一致。这样后面出奇怪问题的几率就低很多。

第一步:下载 PHP, MYSQL, APACHE

一定要下载和线上运行环境一致的版本!下面是伍哥所在项目用到的版本,你必须按自己的需求下载。
mysql-5.1.49-win32.msi
httpd-2.2.16-win32-x86-openssl-0.9.8o.msi
php-5.2.9-2-Win32-VC6-x86
注意:要下载php-5.2.9-2-Win32-VC6-x86版本,不要下载php-5.2.9-2-nts-Win32-VC6-x86版本,更不要下载VC9版本的,因为他是IIS服务器安装版本。

第二步:安装 PHP, MYSQL, APACHE

在要安装的磁盘上建一个文件夹(比如创建一个www文件夹D:/www)。
安装Apache服务器,安装完成后的目录结果是:D:/www/apache。
把下载的php-5.2.9-2-Win32-VC6-x86解压的 D:/www目录中,可以把文件夹的名字改短,结果D:/www/php。
安装MySql数据库,它的安装和一般情况一样,把他安装在(D:/www/mysql)和php同目录。

第三步:配置PHP

1. 配置PHP5.2.9-2,打开php安装目录(笔者是D:/www/php)可以看到目录下有两个这样的文件php.ini-development和php.ini-production,第一个是开发使用的配置文件,第二个是标准的生产环境的配置。
2. 选择php.ini-development复制一份到同目录下,并改名为php.ini使用文本工具打开,查找extension_dir,可以看到两 个,选择On windows:下面的那个,去掉前面的分号修改为extension_dir = “D:/www/php/ext”,这里请根据自己的目录结构配置,目的是找到和php.ini同目录下的ext文件夹中的扩展库。
3. 查找extension=php_,去掉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_xmlrpc.dll前面的分号。
4. 复制php5ts.dll文件到c:/WINDOWS/system32目录下,只有php-5.2.9-2-Win32-VC6-x86版本中才有php5ts.dll,而php-5.2.9-2-nts-Win32-VC6-x86版本是没有的。
5. 如果使用了redis做分布式缓存,请把php_redis.dll复制到extension目录下,并在php.ini文件添加 extension=php_redis.dll。(其他额外的扩展也是这样操作)

第四步:配置Apache

1. 打开Apache目录下conf目录中的httpd.conf文件,查找#LoadModule,在其末尾处大概是128行的地方
添加:
LoadModule php5_module “D:/www/php/php5apache2_2.dll”
PHPIniDir “D:/www/php”
AddType application/x-httpd-php .php
AddType application/x-httpd-php .htm
AddType application/x-httpd-php .html
目录结构根据用户自己目录配置。
2. 查找DirectoryIndex index.html 将其修改成DirectoryIndex index.php index.html index.htm
3. 查找DocumentRoot将其修改为指向你需要放置网站文件的文件夹上(在D:/www目录中创建了一个docroot文件夹)所以DocumentRoot就是”D:/www/docroot”,读者可以根据自己配置来修改。
4. 查找Directory将其修改为你自己配置的DocumentRoot的路径(Directory “D:/www/docroot”)

第五步,整体测试

1. 在D:/www/docroot建立一个index.php文件,输入如下内容

1
phpinfo();

2. 重启Apache服务器,在浏览器输入http://localhost/index.php,确认php环境正常。
3. 安装PHPMYADMIN,确认mysql数据库正常。

第六步,搭建本地虚拟域名和配置URL重写

1. 首先在本地docroot下面建一个目录,比如叫dou55_mall,作为某个应用网站的目录。通过svn把相应的代码checkout到这个目录。当然,你需要向主管先申请一个svn账号。
2. 配置本地网站的虚拟域名,找到apache的配置文件httpd.conf,并修改:
确认LoadModule rewrite_module modules/mod_rewrite.so 前面的#去掉
确认Include conf/extra/httpd-vhosts.conf 前面的#去掉
3. 修改conf/extra/httpd-vhosts.conf文件,首先把conf/extra/httpd-vhosts.conf的全部内容去掉,然后加上:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
NameVirtualHost *:80
 
< VirtualHost *:80>
     ServerName   www.dou55.local
     DocumentRoot d:/www/docroot/dou55_mall
     < Location />
         RewriteEngine On
         RewriteCond %{REQUEST_FILENAME} -s [OR]
         RewriteCond %{REQUEST_FILENAME} -l [OR]
         RewriteCond %{REQUEST_FILENAME} -d
         RewriteRule ^.*$ - [NC,L]
         RewriteRule ^.*$ /index.php [NC,L]
     </ Location >
</ VirtualHost >
< VirtualHost *:80>
    ServerName   localhost
    DocumentRoot d:/www/docroot
</ VirtualHost >

特别说明:这里还附带了URL重写的配置,你可以理解为所有不可达的链接都重写到index.php文件。
URL,或者说应该叫URI,可以分为两种类型:一种是可达的,一种是不可达的。
所谓可达的URI,就是URI和服务器的文件目录是对应的,比如:
(留意粗体部分)

/data/www/dou55_mall/themes/common/css/base.css http://www.dou55.local/themes/common/css/base.css

而不可达的URI,就是URI是虚构出来的,和服务器的文件目录是没有任何关系的。
我们通过配置web服务器(apache或nginx)的URI重写功能,把所有不可达的URI都指向到我们的入口文件(也叫前端控制器,一般是index.php)来统一处理。

4. 修改本机host文件配置
Windows的是C:\WINDOWS\system32\drivers\etc\hosts (Linux的是/etc/hosts)
127.0.0.1 www.dou55.local

修改完以后请重启一下apache服务,重新打开浏览器,输入www.dou55.local看是否可以访问本地网站。

你可能感兴趣的:(PHP编程)