Windows下手工搭建Apache+PHP+Mysql环境

原创 zhaoliang  2015-03-22 23:48  阅读 997 views 次

好多童鞋尤其是刚刚从事PHP开发的一些新童鞋,图方便,多数都会直接使用Wamp集成的开发环境,的确方便了很多,也由于这个问题,对整个PHP的环境配置越来越不熟悉了,往往在需要合作一些新的功能扩展时,就发现特别不好配置,甚至根本解决不了问题,那怎么办?只能动手搭建纯手工的WAMP环境了,Windows下的Apache+MySQL+PHP环境嘛^_^!

这里把自己这次配置过程中遇到的问题和注意的点总结一下,希望能给需要的人提供点帮助。

我的环境配置:    Windows7+Apache2.2.15(Win32非安装版)+PHP5.2.13+MySQL5.051a(mysql-essential-5.1.46-win32)

我将整套的PHP环境全部安装到D:/php目录下(安装目录可以根据自己的需要来定),将Apache跟MySQL也一块安装到该目录下了。注意安装过程中一定要保证现有程序中没有占用80端口的程序(如IIS,迅雷以及集成的PHP安装环境等)在运行 ,安装好这些之后,Apache会自动运行,打开浏览器,访问http://localhost,正常情况下一般会有"It Works!"输出,接下来,我们一块来将PHP配置到Apache服务器上。

首先,到Apache的安装目录下找到Apache2.2/conf下面的httpd.conf配置文件,最好备份一份,以备后用,在httpd.conf配置文件未尾添加LoadFile "D:/php/php-5.2.13/php5ts.dll"来加载php的核心代码库;

其次,在最后一行LoadModule下面添加一行LoadModule php5_module "D:/php/php-5.2.13/php5apache2_2.dll",找到最后一行AddType application...记录或在整个文件最后添加一行AddType application/x-httpd-php .php(留意两个php之间的空格),在文件最后添加一行PHPIniDir "D:/php/php-5.2.13",更改服务器指向目录为DocumentRoot  D:/www(默认为DocumentRoot "D:/php/Apache Software Foundation/Apache2.2/htdocs"),把Directory "D:/php/Apache Software Foundation/Apache2.2/htdocs"也更改为Directory "D:/www",接下来将php文件包下的php.ini-recommended(推荐的,当然也可以是php.ini-dist)复制一份并重命名为php.ini,重启Apache服务器,编写一个phpinfo()方法的index.php文件放到D:/www根目录下,用浏览器再次访问一下http: //localhost,出现php的配置信息页面,说明PHP的配置成功;

然后,打开php.ini文件,把extension_dir = "./"修改为extension_dir = "D:/php/php-5.2.13/ext" ,这里一定得记得修改成php文件包里ext目录所在的路径,否则你的php环境将无法进行功能扩展了,包括数据库也无法使用了。如果是默认的"./",那所默认的路径就是你的web根目录,一般我们很少去这样去做。

最后一步,配置MySQL,打开php.ini文件,将extension=php_mysql.dll一行的“;”去掉,到php文件包下复制一份libmysql.dll到Windows/System32下或者复制到Apache安装目录下的Apache2.2/bin下面,重启Apache,再运行http://localhost ,出现MySQL的相关信息,说明MySQL配置成功。

一、常用的php.ini配置:

1)开启gd2图像函数扩展库,通常用于生成验证码图片等
extension=php_gd2.dll

2)宽字符集处理,常用于对非英文字集的处理,兼容字符集编码问题
extension=php_mbstring.dll

3)配置phpmyAdmin时用到的;
extension=php_mcrypt.dll
由于php_mcrypt.dll扩展要依赖于libmcrypt.dll,因此也要到php文件包下复制一份libmcrypt.dll到Windows/System32下或者复制到Apache安装目录下的Apache2.2/bin下面;

4)扩展使用Memcache时需要单独设置

首先,下载Memcached文件,安装到自己的系统上;
其次,下载对应的php_memcache.dll组件放到php文件包的ext下(D:/php/php-5.2.13/ext );
最后,在extension最下面添加一行:extension=php_memcache.dll;
重启apache,这样Memcached就扩展成功了。

注意最好不要用最新版本的PHP,下载到Memcache.dll组件可能会不兼容最新版本的PHP

5)扩展PHP的Xdebug组件,方便调试;

到xdebug官网查找对应版本的xdebug扩展组件,然后在php.ini最后一行添加:zend_extension_ts = D:/php/php-5.2.13/ext/php_xdebug.dll,此处必须为绝对路径调用,具体原因参照Xdebug官网。

二、常用的Apache扩展:

1)URL重写功能

开启LoadModule rewrite_module modules/mod_rewrite.so,修改#AllowOverride controls what directives may be placed in .htaccess files.下面的AllowOverride None为AllowOverride ALL

2)Vhost虚拟机配置

开启LoadModule vhost_alias_module modules/mod_vhost_alias.so和Include conf/extra/httpd-vhosts.conf

配置extra下面的httpd-vhosts.conf文件,配置好虚拟机的端口

listen 80
NameVirtualHost *:80

主机目录配置,如:

<VirtualHost *:80>
    ServerAdmin webmaster@a.com 
    DocumentRoot "D:/www/"
    ServerName localhost
    #ServerAlias www.dummy-host.localhost 
    ErrorLog "logs/dummy-host.localhost-error.log"
    CustomLog "logs/dummy-host.localhost-access.log" common
</VirtualHost>

此配置可以按主机名配置,也可用端口名配置,如使用8080端口时,配置如下:

listen 8080
NameVirtualHost *:8080

<VirtualHost *:8080>
    ServerAdmin webmaster@a.com 
    DocumentRoot "D:/www/"
    ServerName localhost
    #ServerAlias www.dummy-host.localhost 
    ErrorLog "logs/dummy-host.localhost-error.log"
    CustomLog "logs/dummy-host.localhost-access.log" common
</VirtualHost>

本文地址:http://blog.58cm.cn:8088/archives/115.html
版权声明:本文为原创文章,版权归 zhaoliang 所有,欢迎分享本文,转载请保留出处!

评论已关闭!