Windows默认使用IIS作为服务器,这篇博文将讲述如何在win7下安装和配置Apache+PHP环境。
准备工作:在G盘下新建三个文件夹:Apache、PHP和PHPWeb。Apache放置Apache服务器,PHP安装PHP的目录,PHPWeb用来放置网站文件,如html,php等。
一、安装Apache
第一步:下载Apache。
网址:http://httpd.apache.org/docs/current/platform/windows.html。进入页面后选择ApacheHaus,之后在新打开的页面里选择Apache2.4x VC11下面的Apache2.4.12 x64进行下载。(说明:我的电脑是win7 64位,所以选择x64。VC9和VC11的主要区别是:VC9表示是使用Visual Studio 2008编译的,VC11表示是使用Visual Studio 2012编译的。运行时,电脑需要安装相应的VC distributable。)下载完成后,将其解压到G:\Apache文件夹中,会解压出文件夹Apache24。
第二步:配置Apache。
编辑G:\Apache\Apache24\conf路径下找到httpd.conf。修改如下:
①Define SRVROOT “/Apache24” 改为 Define SRVROOT “G:\Apache\Apache24”
②Listen 80 改为Listen 1024 (这个是Apache的监听端口,windows下80端口一般会被IIS占用,所以改为用户认为合适的其他端口)。
③SeverAdmin [email protected] 改为ServerAdmin [email protected](改为用户自己的邮箱)
④ServerName 127.0.0.1:80 改为 ServerName 127.0.0.1:1024(端口号与②相同)
⑤DocumentRoot "${SRVROOT}/htdocs" 改为 DocumentRoot "G:\PHPWeb"
第三步:安装Apache。
找到C:\Windows\System32\cmd.exe,右击鼠标选择以管理员身份运行。然后依次输入以下命令:
G:(enter)
cd Apache\Apache24\bin (enter)
此时命令行已进入G:\Apache\Apache24\bin目录。继续输入以下命令:
httpd –k install(enter) 若安装多个Apache,则可以使用以下命令来指定不同的名字:
httpd –k install –n “服务名” (enter)
说明:
①执行完以上命令成功后,Apache会被安装为windows的服务。在命令行输入:
services.msc (enter) 会打开windows服务列表,在列表中会看到Apache已经被安装。
②对应的卸载命令:
httpd –k uninstall (enter) 和 httpd –k uninstall –n “服务名” (enter)
③安装的Apache默认使用配置文件G:\Apache\Apache24\conf\httpd.conf,也可以为不同的Apache指定不同的配置文件,命令如下:
httpd -k install -n "服务名" -f"G:\files\my.conf"(enter)
④若安装过程中提示配置文件错误,则可用以下命令进行配置文件(httpd.conf)检查:
httpd -t (enter) 或
httpd –n “服务名” –t (enter)
运行以上命令后,会在命令行显示配置文件具体哪一行错误。,若没错误会显示Syntax OK。
二、安装PHP
第一步:下载php
网址:http://windows.php.net/download 选择php5.6下面的VC11 x64 Thread safe Zip。
下载完成后,将其解压到G:\PHP文件夹中。
第二步:配置php
找到G:\PHP\php.ini-development并将其重命名为php.ini。打开php.ini,修改如下:
① ;extension_dir = “ext” 改为 extension_dir=”G:\PHP\ext”
②开启自动连接Mysql的功能:找到以下字段,并将其前面的”;”去掉
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_odbc.dll
extension=php_xmlrpc.dll
③设置时区。
;date.timezone 改为 date.timezone=Asia/Shanghai
④开启PHP session功能(可选)
在G:\PHPWeb下新建文件夹命名为Session,并将;session.save_path = "/tmp" 改为 session.save_path = "G:\PHPWeb\Session"
⑤开启PHP上传文件功能(可选)
在G:\PHPWeb下新建文件夹命名为FileUploadtmp,并将;upload_tmp_dir = 改为upload_tmp_dir = “G:\PHPWeb\FileUploadtmp”
三、配置Apache使其支持PHP
打开G:\Apache\Apache24\conf\httpd.conf进行编辑:
A、在#LoadModule xml2enc_modulemodules/mod_xml2enc.so下面添加以下内容:
LoadModule php5_module "G:\PHP\php5apache2_4.dll"
PHPIniDir "G:\PHP"
AddType application\x-httpd-php .php .htm .html
B、将DirectoryIndex index.html改为DirectoryIndex index.php index.html
说明:在命令行运行httpd –t进行httpd.conf文件的语法检查。若提示无法将php5apache2_4.dll加载进server,有两种可能:
①Apache的VC版本(VC6、9、11)和PHP的VC版本(VC6、9、11)不对应。
解:检查相应的VC版本,更改Apache和PHP的版本后即可
②电脑的VC distributeable版本不对。
解:手动运行G:\PHP下的php.exe文件,新版本需要相应的vc支持,若电脑原来并没有安装则会提示msvcr110.dll找不到,安装对应的vc即可解决。(安装VC11相关组件网址:http://www.microsoft.com/zh-CN/download/details.aspx?id=30679)。没有报错后再去配置httpd.conf文件,注意Apache2.4需要加载php5apache2_4.dll,如果Apache2.2需要加载php5apache2_2.dll,若这两个搞错了话也会出现dll无法加载的报错。
至此,Apache和PHP的开发环境就已搭建完毕。
其他
(1)启动、关闭Apache:
net startApache2.4
net stop APache2.4
(2)Apache2.4安装后:the requested operation has failed问题定位
1、80端口被占用
2、APache2.4/conf/httpd.conf配置文件内容有错误
问题:
访问php页面时浏览器变成下载其php页面问题解决尝试:
(1)将G:\PHP\dev加入环境变量
(2)将G:\PHP\dev中的php5ts.lib文件拷贝到C:\Windows\System32下
(3)修改httpd.conf文件:AddType application/x-httpd-php .php .htm .html这句移动到 AddType application/x-gzip.gz .tgz这句下边。
不知不觉就好了,我也很费劲。。。
四、安装MySql
第一步:下载MySQL
进入MySQL官网后选择MySQL Community Edition(GPL)为免费版(MySQL Community Server)
地址:http://dev.mysql.com/downloads/mysql/最下边选择Windows (x86,64-bit) MySQLInstaller MSI下载。
第二步:安装MySql
双击运行install,运行后选择custom,点击next。会出现两个框,左边选择要安装的功能,右边显示你选择的功能,选择好所有功能后,在右边框里选中某个功能,则会在下方出现Advanced Option按钮,点击Advanced Option,用户可以指定安装目录。注意:只有在右边框里选择了某个功能,才会在下方出现Advanced Options按钮!之后一步步进行安装就好了。
第三步:测试连接
更改G:\PHPWeb中的index.php文件如下:
$dbc= mysqli_connect("127.0.0.1","root","soton");
if(!$dbc) {
echo"数据库链接错误!";
}else{
echo"Success!";
}
mysqli_close($dbc);
?>
保存后在浏览器中输入 localhost:1024回车,若显示success!则证明可以连接MySQL。
TIPS:
1、安装Apache为window服务。进入Apache/Apache2.4/bin,然后:
httpd -k install (卸载:httpd -k uninstall)
若安装多个Apache,则可以指定不同名字:
httpd -k install -n "服务名" (卸载:httpd -k uninstall -n "服务名")
若为不同名称的服务使用不同的配置文件,则:
httpd -k install -n "服务名" -f "G:\files\my.conf"
启动、重启、关闭Apache:
net start Apache2.4
net stop APache2.4
检查配置文件正确性:
httpd -n "服务名" -t
2、Apache2.4安装后:the requested operation has failed问题定位
(1)80端口被占用
(2)APache2.4/conf/httpd.conf配置文件内容有错误
解:文件中Line38,将SRVROOT设置为G:\Apache\Apache24即可。
3、先手动运行php目录下的php.exe文件,新版本由于需要vc的支持,如果没有安装会提示msvcr110.dll找不到,安装vc即可解决
安装vc11相关组件,请到 http://www.microsoft.com/zh-CN/download/details.aspx?id=30679 下载
没有报错后再去配置http.conf文件,加载php5apache2_4.dll(这个代表的是2.4版本的appache),如果是2.2的apache去加载2.4的支持文件,就会报错Cannot load php5apache2_4.dll into server
LoadModule php5_module "d:/php/php5apache2_4.dll"
PHPIniDir "d:/php/"
我是遇到这个问题,用了2.2的apache去加载2.4的文件,升级了apache到2.4后,问题解决
http://www.apachelounge.com/download/ apache2.4 版本下载地址