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,打开后修改如下:

  1. 38行:将Define SRVROOT “/Apache24”  改为 Define SRVROOT  "E:/Apache/Apache24"
  2. 60行:将Listen 80 改为:Listen 1024
  3. 214行:将SeverAdmin admin@example.com 改为用户自己的邮箱
  4. 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,修改如下:

  1. 737行:;extension_dir = “ext”  改为:extension_dir = "E:\php\php-5.6.30-Win32-VC11-x64\ext"
  2. 开启自动连接MySQL的功能,找到以下字段,并将前面的";"去掉(去掉注释)
    1. 889行:extension=php_curl.dll
    2. 891行:extension=php_gd2.dll
    3. 898行:extension=php_mbstring.dll
    4. 900行:extension=php_mysql.dll=>901行extension=php_mysqli.dll(因为现在mysql_*已经抛弃,建议使用mysqli或者PDO_MySQL,否则报错:Fatal error: Uncaught Error: Call to undefined function mysql_connect()
    5. 906行:extension=php_pdo_mysql.dll
    6. 907行:extension=php_pdo_odbc.dll
    7. 922行:extension=php_xmlrpc.dll
  3. 设置时区:
  4. 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

posted @ 2017-06-01 14:41  lesleysbw  阅读(775)  评论(0编辑  收藏  举报