php5.6+Apache2.4+MySQL
在配置php的时候可以直接使用集成环境XAMPP:https://bitnami.com/stack/xampp?utm_source=bitnami&utm_medium=installer&utm_campaign=XAMPP%2BInstaller
一、安装Apache2.4
1. 下载Apache2.4——32位/64位;VC*需要与PHP匹配
http://httpd.apache.org/docs/current/platform/windows.html,选择:ApacheHaus,下载版本:
其中VC11表示使用Visual Studio2012编译,需要VC++2012distributable。我们在这里选择64位的!否则会报错!!!
2. 下载安装VC++distributable2012
https://support.microsoft.com/zh-cn/help/2977003/the-latest-supported-visual-c-downloads
下载完成后,解压到E:\Apache中,会解压出文件夹Apache24
3. 配置Apache
在目录:E:\Apache\Apache24\conf下找到配置文件httpd.conf,打开后修改如下:
- 38行:将Define SRVROOT “/Apache24” 改为 Define SRVROOT "E:/Apache/Apache24"
- 60行:将Listen 80 改为:Listen 1024
- 214行:将SeverAdmin admin@example.com 改为用户自己的邮箱
- 223行:ServerName Locallhost:80 改为 ServerName 127.0.0.1:1024(端口号与②相同)
4. 安装Apache
在cmd中切换到E:\Apache\Apache24\bin目录下(或者直接在该目录下,按住shift同时右键选择“在此处打开命令窗口”),输入以下命令
httpd -k install
(若要安装多个Apache,则可以使用以下命令来指定不同的名字:
httpd -k install -n "Service-name")
这个时候命令行显示:
看到Erros reported here...不要担心,这句话意思是如果有错,错误信息会显示在下面,我们在这句话下面没有发现其他语句,所以表示安装正确。
检查是否安装成功:
1. 在命令窗口输入:services.msc,打开windows服务列表,查看Apache是否安装成功
2. 手动启动Apache,输入刚刚配置的 ServerName网址:127.0.0.1:1024,显示:
说明配置正确。
5. 其他(可能出现的问题及解决方案)
1)卸载:在windows服务列表中,查看Apache属性-可执行文件的路径:
进入该目录下,shift+打开命令行,输入命令:
httpd –k uninstall 和 httpd –k uninstall –n “服务名”
2)为不同Apache指定配置文件
安装的Apache默认使用配置文件E:\Apache\Apache24\conf\httpd.conf,也可以为不同的Apache指定不同的配置文件,命令如下:
httpd -k install -n "服务名" -f"G:\files\my.conf"
3)若安装过程中提示配置文件错误,则可用以下命令进行配置文件(httpd.conf)检查:
httpd -t 或
httpd –n “服务名” –t
运行以上命令后,会在命令行显示配置文件具体哪一行错误。,若没错误会显示Syntax OK
二、安装PHP
1. 下载
网址:http://windows.php.net/download 选择php5.6下面的VC11 x64 Thread safe Zip。
下载完成后,将其解压到E:\php文件夹中。
2. 配置php
找到G:\PHP\php.ini-development并将其重命名为php.ini。打开php.ini,修改如下:
- 737行:;extension_dir = “ext” 改为:extension_dir = "E:\php\php-5.6.30-Win32-VC11-x64\ext"
- 开启自动连接MySQL的功能,找到以下字段,并将前面的";"去掉(去掉注释)
- 889行:extension=php_curl.dll
- 891行:extension=php_gd2.dll
- 898行:extension=php_mbstring.dll
- 900行:extension=php_mysql.dll=>901行:extension=php_mysqli.dll(因为现在mysql_*已经抛弃,建议使用mysqli或者PDO_MySQL,否则报错:Fatal error: Uncaught Error: Call to undefined function mysql_connect())
- 906行:extension=php_pdo_mysql.dll
- 907行:extension=php_pdo_odbc.dll
- 922行:extension=php_xmlrpc.dll
- 设置时区:
- 936行:date.timezone =Asia/Shanghai
3. 配置Apache使其支持php
打开E:\Apache\Apache24\conf\httpd.conf文件,修改如下:
1)182行,在#LoadModule xml2enc_module modules/mod_xml2enc.so下面添加代码:
LoadModule php5_module "E:/php/php-5.6.30-Win32-VC11-x64/php5apache2_4.dll"
PHPIniDir "E:/php/php-5.6.30-Win32-VC11-x64"
AddType application\x-httpd-php .php .htm .html
第一行是指以module方式加载php,
第二行是指明php的配置文件php.ini的位置,
2)412行,在AddType application/x-gzip .gz .tgz行下一行添加:
AddType application\x-httpd-php .php .htm .html
作用是定义能够执行php的文件类型,即.php、.htm、.html文件能执行php程序
3)282行:将DirectoryIndex index.html改为DirectoryIndex index.php index.html
配置完成以后,输入命令:httpd -t进行检查:
4. 配置服务器使用PHP
**解决问题:访问php页面时浏览器变成下载其php页面:
(1)将E:\php\php-5.6.30-Win32-VC11-x64\dev加入环境变量
(2)将E:\php\php-5.6.30-Win32-VC11-x64\dev中的php5ts.lib文件拷贝到C:\Windows\System32下
(3)修改httpd.conf文件:AddType application/x-httpd-php .php .htm .html这句移动到 AddType application/x-gzip.gz .tgz这句下边。
(4)重启Apache
5. 其他(可能出现的问题及解决方案):
1. 在命令行运行httpd –t进行httpd.conf文件的语法检查。若提示无法将php5apache2_4.dll加载进server,有三种可能:
1)Apache的VC版本(VC6、9、11)和PHP的VC版本(VC6、9、11)不对应。
2)Apache与PHP的32位、64位不对应。Apache32位无法带动php64位的包
解:检查相应的VC版本,更改Apache和PHP的版本后即可
3)电脑的VC distributeable版本不对。
解:手动运行E:\php\php-5.6.30-Win32-VC11-x64下的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无法加载的报错。
2. 启动、关闭Apache:
net start Apache2.4 net stop APache2.4
四、安装MySql
1. 下载:
https://dev.mysql.com/downloads/mysql/
2. 安装:
按照步骤一步步安装,特别注意的是选择自定义安装路径(Advanced Option)
3. 测试连接:
在E:\Apache\Apache24\htdocs下创建一个php文件:testMySQL.php
<?php $dbc= new mysqli("localhost","root","root","test"); if(!$dbc) { echo"数据库链接错误!"; }else{ echo"数据库连接正确"; } mysqli_close($dbc); ?>
然后输入网址测试:http://127.0.0.1:1024/testMySQL.php,显示正确
4. 出现的问题
Fatal error: Uncaught Error: Call to undefined function mysql_connect()
解决方法:因为现在mysql_*已经抛弃,建议使用mysqli或者PDO_MySQL,可以查看文档:php官网关于mysql说明,所以在php.ini中仍然注释掉900行:extension=php_mysql.dll,取消901行注释:extension=php_mysqli.dll