来自: http://www.cnblogs.com/pharen/archive/2012/02/06/2340628.html
PHP集成开发环境有很多,如XAMPP、AppServ(http://www.appservnetwork.com/)......只要一键安装就把PHP环境给搭建好了。但这种安装方式不够灵活,软件的*组合不方便,同时也不利于学习。所以我还是喜欢手工搭建PHP开发环境,需要哪个模块自己安装就行了,或者那个软件需要升级,直接升级那个软件就行了,并不影响其他软件,非常方便。
一、准备工作-下载所需软件
- Apache httpd-2.2.22-win32-x86-openssl-0.9.8t.msi
- PHP php-5.3.10-Win32-VC9-x86.zip
- MySQL mysql-5.5.20-win32.msi
二、安装软件
安装Apache: 双击安装,与安装其他Windows软件没有什么区别,在填Server Infomation时,并没有特殊规定,只要输入的信息符合格式即可。
安装完成之后,在浏览器输入http://localhost,如果显示It Works!,表示Apache安装成功。
安装PHP:将php-5.3.10-Win32-VC9-x86.zip解压到一个目录即可。
安装MySQL:双击安装,如果需要更改安装目录,则在Choose Setup Type选择Custom
安装完成后开始配置MySQL,全部保持默认选项即可,但最好把MySQL默认编码改为utf8,在Modify Security Settings选项中设置密码,输入两次密码即可完成,最后点Execute完成配置。
三、整合Apache+PHP+MySQL
Apache : 首先修改Apache的配置文件,让Apache支持解析PHP文件。Apache配置文件在Apache安装目录的conf目录下的httpd.conf。
1. 让Apache可以解析php文件,在配置文件中找到
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
在下一行添加 (绿色的位置是根据PHP的所在目录而定的)
LoadModule php5_module "D:/Develop/PHP/php5apache2_2.dll"
PHPIniDir "D:/Develop/PHP"
AddType application/x-httpd-php .php .html .htm
2. 在配置文件中找到
DirectoryIndex index.html
改为
DirectoryIndex index.php index.html
3. 修改Apache站点目录,在配置文件中找到(Apache安装的目录不同,显示的值不一样)
DocumentRoot "D:/Develop/Apache2.2/htdocs"
改为
DocumentRoot "D:/Workspace/PHP"
再找到
<Directory "D:/Develop/Apache2.2/htdocs">
改为
<Directory "D:/Workspace/PHP">
PHP : 把php.ini-development改名为php.ini,作为PHP的配置文件。修改php.ini
1. 设置PHP扩展包的具体目录,找到
; On windows:
; extension_dir = "ext"
改为 (值是ext文件夹的目录)
; On windows:
extension_dir = "D:/Develop/PHP/ext"
2. 开启相应的库功能,找到需要开启的库的所在行
;extension=php_curl.dll
;extension=php_gd2.dll
;extension=php_mbstring.dll
;extension=php_mysql.dll
;extension=php_xmlrpc.dll
去掉前面的分号(注释),即改为
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_xmlrpc.dll
3. 设置时区,找到
;date.timezone =
改为
date.timezone = Asia/Shanghai
配置完成,检测一下配置是否成功。重启Apache,在站点目录下新建文件index.php,输入内容:
<?php
phpinfo();
?>
打开浏览器输入http://localhost,显示如下内容,则安装成功,并且成功关联MySQL。
==>常见问题:
来自: http://www.cnblogs.com/snackuo/p/3547548.html
1.80端口被占用,apache启动不了.
问题描述:默认安装apache,安装完成后可以自启动apache,但是设置手动启动时会报错,日志显示80端口被占用,修改配置文件改为81端口,可正常手动启动。自启动是因为启动顺序中apache优先,抢先占用了80端口.
排查过程:cmd窗口输入netstat –ano,发现80端口已被监听,PID=4,然后在任务管理器查询到PID是系统进程,所以只有网上搜索‘80端口被NT kernel & System 占用(pid=4)’然后找到了解决方案.
解决方法:CMD窗口net stop http然后选择y最后输入sc config http start= disabled(注意disabled前面有一个空格),然后就可以正常启动默认配置的apache.
2.apache支持php.
问题描述:我的apache版本应该是2.2安装文件是:httpd-2.2.25-win32-x86-openssl-0.9.8y.msi
①、我的php版本是5.5.9.下载文件是:php-5.5.9-Win32-VC11-x86.zip(Thread Safe ),不是这么版本就没有需要的文件php5apache2_4.dll,然后按照一般的教程去配置,会报错:httpd.exe: Syntax error on line 131 of D:/Apache2.2/conf/httpd.conf: Cannot load D:/PHP/php5apache2_4.dll into server: \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xb3\xcc\xd0\xf2\xa1\xa3
这个核查到的原因是需要安装文件vcredist_x86.exe对应2012版本。
安装后还是无法启动。没有任何错误日志,然后怀疑是php5apache2_4.dll的问题。
解决办法:更换php版本。php-5.4.25-Win32-VC9-x86.zip(Thread Safe )另外安装vcredist_x86.exe对应2008版本(将此版本运行库卸载了也成功了,但是2012未卸载)。然后就成功启动了。
最有意义的参考内容:
1、Apache2.0对应的PHP模块为 php5apache2.dll
2、Apache2.2对应的PHP模块为 php5apache2_2.dll
3、Apache2.4对应的PHP模块为 php5apache2_4.dll
所以,Apache/PHP的搭配有以下几种情况:
1、php5.2支持Apache2.0和Apache2.2;
2、php5.3、php5.4同时支持Apache2.2和Apache2.4;
3、php5.5只支持Apache2.4
php版本与运行库对应情况。
php5.5使用的编译器是vc11,php5.4和php5.3的是vc9,php5.2是vc6。同时还要注意是x86版本,还是x64版本。目前只有php5.5提供x64版本,其他都只有x86版本。
当php和apache的版本对应正确后,将手工安装的vc运行库全部卸载了,照样可以正常启动,目前断定配置环境最重要的是php和apache的版本对应。