原文url:http://www.cnblogs.com/pharen/archive/2012/02/06/2340628.html
PHP集成开发环境有很多,如XAMPP、AppServ,Wamp......只要一键安装就把PHP环境给搭建好了。但这种安装方式不够灵活,软件的自由组合不 方便,同时也不利于学习。所以我还是喜欢手工搭建PHP开发环境,需要哪个模块自己安装就行了,或者那个软件需要升级,直接升级那个软件就行了,并不影响 其他软件,非常方便。
一、准备工作-下载所需软件
- Apache httpd-2.2.22-win32-x86-openssl-0.9.8t.msi ,或者http://httpd.apache.org/中下载
- PHP php-5.3.10-Win32-VC9-x86.zip
- MySQL mysql-5.5.20-win32.msi
1, 安装Apache: 双击安装,与安装其他Windows软件没有什么区别,在填Server Infomation时,并没有特殊规定,只要输入的信息符合格式即可。例如域名输入tl.com,网站输入www.tl.com(注意,这里域名要指向你主机的ip,在host文件中更改,例如192.168.0.156 www.tl.com),邮箱可以填自己的邮箱,注意,最下边选择for all users,on port 80(端口可以在httpd.conf中配置),as a Service(在系统中生成一个服务)
接下来,一直下一步就可以了。
安装完成之后,在浏览器输入http://localhost或者www.tl.com(前提,host中配置了ip指向),如果显示It Works!,表示Apache安装成功。
1.1 绿色版apache安装方法(现有官方下载的只有压缩包,没有安装版):
---下载教程http://jingyan.baidu.com/album/29697b912f6539ab20de3cf8.html?picindex=2
---将下载的压缩包解压后,里边有类似Apache24或者Apache22的文件夹,将文件夹拷贝到指定目录,然后命令行下进入到apache下面的bin目录,输入httpd -k install把apache安装成windows后台服务。
1.2 Apache卸载服务
---若Apache服务器软件不想用了,想要卸载,需要先卸载apache服务(切记,若直接删除安装路径的文件夹,会有残余文件在电脑,可能会造成不必要的麻烦)
---在CMD命令窗口,输入如下(建议先停止服务再删除):
---sc delete apache
---apache是Apache服务器的服务名
2,安装PHP:将php-5.3.10-Win32-VC9-x86.zip解压到一个目录即可(例如,D:\php5\目录下)。具体apache和php怎么连接,后边有配置说明。
3,安装MySQL:双击安装,如果需要更改安装目录,则在Choose Setup Type选择Custom
安装完成后开始配置MySQL,全部保持默认选项即可,但最好把MySQL默认编码改为utf8,在Modify Security Settings选项中设置密码,输入两次密码即可完成,最后点Execute完成配置。
三,整合Apache+PHP+MySQL(总结:Mysql不用配置,重点配置Apache和php,让Apache支持解析php文件。重点看phpinfo()配置信息--->模块整合情况,通过phpinfo错误来一步一步解决错误!!!)
---Apache : 首先修改Apache的配置文件,让Apache支持解析PHP文件。Apache配置文件在Apache安装目录的conf目录下的httpd.conf。#LoadModule vhost_alias_module modules/mod_vhost_alias.so
在下一行或者再后边几行添加 (绿色的位置是根据PHP的所在目录而定的)
LoadModule php5_module "D:\php5.6\php5apache2_4.dll"
PHPIniDir "D:\php5.6\php5apache2_4.dll" //注意这里是错误的,会出现mysql连接不上的情况,要改成后边代码。
PHPIniDir "D:\php5.6\php.ini" 或者 PHPIniDir "D:/php5"(你的php安装目录)
AddType application/x-httpd-php .php .html .htm
如在httpd.conf:
#以apache的模块方式运行php
LoadModule php4_module /apache/php/sapi/php4apache.dll
PHPINIDir /apache/php/php.ini
---注意,如果php版本和apache版本不对应,引用的php5apache2_4.dll文件不对应,会引起apache不能启动问题,2015-07-26发现!!! 如果解决问题???就是用apache对应最新的php版本,64位对64位,vc11对应vc11,之前的老版本尽量不用。
2, 在配置文件中找到(默认页,可以是index.php,也可以是index.html)
DirectoryIndex index.html
改为
DirectoryIndex index.php index.html
3, 修改Apache站点目录,在配置文件中找到(Apache安装的目录不同,显示的值不一样)
DocumentRoot "D:/Develop/Apache2.2/htdocs" 或者#DocumentRoot "${SRVROOT}/htdocs" //默认apache的目录是htdocs //之前的注释掉就行,前面加#号
DocumentRoot "D:/Workspace" //改成,我们自己的网站目录
#DocumentRoot "D:/Workspace/PHP" //网站根目录如果设置成二级目录,会出现首页index.html显示不了的问题
再找到(同上)
<Directory "D:/Develop/Apache2.2/htdocs">
改为
<Directory "D:/Workspace">
#<Directory "D:/Workspace/PHP"> //网站根目录如果设置成二级目录,会出现首页index.html显示不了的问题
4,PHP : 把php.ini-development(或者php.ini-recommended)改名为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。
---注意下图中,如果只出现mysqlnd表示mysql关联不成功,必须出现mysql才行!!!
@php连接不到mysql(即phpinfo()中没有mysql模块,只有mysqlnd)问题汇总?
---检测方法:看phpinfo中是否有mysql模块,没有就是连接不成功!!!
---每次修改过配置以后,都要重启Apache服务,有时候需要尝试多次重启,或把它晾那一会。
---不同系统不同版本的解决方法不一样,最好的办法就是安装WampServer集成环境
1,确定mysql服务是否启动
2,确保php.ini文件中的下边配置修改了
mysql.allow_persistent = On
mysql.max_persistent = -1
mysql.max_links = -1
mysql.default_host =localhost
mysql.default_user =root
mysql.default_password =你的mysql的root的口令
;extension=php_mysql.dll 去掉前面的分号
3,在Apache安装目录下找到conf文件夹,即默认安装路径C:\Program Files\Apache Software Foundation\Apache2.2\conf,找到httpd.conf文件,在
LoadModule php5_module "D:/php/php5apache2_2.dll"下面追加如下语句即可:
PHPIniDir "D:/php5"(你的php安装目录),有时候PHPIniDir后边跟的代码是这样"D:\php5\php5apache2_2.dll"把它改成D:/php5即可。
---我的错误就是在这里解决。
4,有的教程里说需要把libMysql.dll文件拷贝到c:\windows\system32和D:\php5\ext下面,如果一些配置方法在系统环境变量里设置好path的话,就不需要这步操作了。
5,配置好后重启apache,看看phpinfo是否有mysql服务,如果有就配置成功了;没有的话需要按以上几点重新配置。
---从配置信息中能看到很多重要的知识点,不要小看配置信息,例如重要的:
平时遇到了错误,从这些配置信息中,能帮我们检查,我们的配置是否正确!!!
Configuration File (php.ini) Path C:\Windows
Loaded Configuration File D:\php5.6\php.ini
Compiler MSVC11 (Visual C++ 2012)
Architecture x64
Apache Version Apache/2.4.16 (Win64) OpenSSL/1.0.1p PHP/5.6.11
Hostname:Port localhost:80
Server Administrator admin@example.com
DOCUMENT_ROOT D:/Workspace
CONTEXT_DOCUMENT_ROOT D:/Workspace
SERVER_NAME localhost
@可能会遇到的问题:
1,配置页面上没有mysql这一项,问题就在这里了。这是由于php没有加载mysql扩展模块导致的。但是我在PHP安装目录下的php.ini文件中将mysql模块配置上以后,配置页面上,还是没有mysql这一项,那是什么问题呢?
好多教程都忘记了一点,那就是php安装目录下的php.ini并不是apache调用的,apache需要到C:/windows目录下去寻找php.ini,然后加载。
所以,我们要把php安装目录下的php.ini文件拷贝到C:/windows目录下,注意: 不是C:/windows/system32目录!
然后就apache就能正常加载mysql了。