Windows下Apache,MySql,PHP安装配置

本文目标

在Windows8.1 x64下 全手工安装Apache、PHP、MySQL,使用NetBeans调试第一个Hello,World!程序。

安装Apache

打开http://httpd.apache.org 左侧Download!点From a Mirror,看到当前最新稳定版本未2.4.12, 看到现在Windows的版本已经不像以前一样提供.msi和.zip等下载包了。而是提示:

Apache httpd for Microsoft Windows is available from a number of third party vendors. 看来需要从第三方获取。点这个链接,从推荐的第三方选择第一个:ApacheHaus,可以下载到Windows的Zip包,

我们选择下载 httpd-2.4.12-x64-vc11.zip,解压到系统目录中。

因为是vc11编译的,我们系统要安装vc11 Redistribute,我的电脑已经安装好了。

配置Apache

在Apache解压目录找到conf目录中的 httpd.conf文件,有文本编辑器打开,找到

 

Define SRVROOT "/Apache24"

 

这是定义Apache 服务的根目录,就是你的Apache所在根目录,如果这个配置错误会报错:

Cannot load modules/mod_actions.so into server: \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3

这是因为这个目录配置错误,导致对应modules目录也找不到了,所以第一个要加载的模块会提示找不到。

我的系统是这样配置的:

#Define SRVROOT "/Apache24"
Define SRVROOT "F:/Software/Dev/apache/httpd-2.4.12-x64-vc11/Apache24"
ServerRoot "${SRVROOT}"

配置Web发布目录

搜索DocumentRoot, 修改为:

#DocumentRoot "${SRVROOT}/htdocs"
DocumentRoot "e:/php"

 

修改端口:

Apache默认为80端口,因为我的80端口别的程序已经用了,我们改为8080:

Listen 127.0.0.1:8080

 

ServerName localhost:8080

将Apache安装成服务

用管理员身份证运行命令提示符(cmd),

进入bin目录,运行httpd.exe -k install

安装成功,就可以使用ApacheMonitor.exe 工具控制服务的启动和停止了,我们启动Apache服务

准备测试下,在e:/php下面放个test.txt 文件,内容为hello, jsoft,用浏览器访问:

http://localhost:8080/test.txt

竟然提示403错误!

重新打开httpd.conf

找到发布的根目录配置,

<Directory />
    AllowOverride none
    Require all denied  
</Directory>

 修改为:

<Directory />
    AllowOverride none
    #Require all denied
    Require all granted
</Directory>

 重启Apache服务,刷新 http://localhost:8080/test.txt,浏览器中出现熟悉的hello, jsoft

Apache至此安装配置成功,待用。

安装PHP

到www.php.net下载,当前最新版php-5.6.6,我们下载 php-5.6.6-Win32-VC11-x64.zip

因为我们之前安装的Apache是vc11的x64版本,所以php我们也下载对应的版本,而且要ThreadSafe的版本。

解压到  F:\Software\Dev\PHP\php-5.6.6-Win32-VC11-x64

进入该目录,将php.ini-development 复制为php.ini

让Apache支持PHP

修改Apache的httpd.conf

在最下面添加:

# php5 support
LoadModule php5_module F:/Software/Dev/PHP/php-5.6.6-Win32-VC11-x64/php5apache2_4.dll

AddType application/x-httpd-php .php .html .htm

# configure the path to php.ini
PHPIniDir "F:/Software/Dev/PHP/php-5.6.6-Win32-VC11-x64"

重启Apache

修改在网站根目录文件夹放文件 test.php:

<?php
phpinfo();
?>

在浏览器中测试:http://localhost:8080/test.php

成功!

让PHP支持xdebug

先下载xdebug扩展:

下载地址:http://xdebug.org/download.php

当前版本:2.3.1,我们下载PHP 5.6 VC11 TS (64 bit)版本,跟php版本对应,将下载的php_xdebug-2.3.1-5.6-vc11-x86_64.dll复制到php/ext目录下

在php.ini中追加:

[xdebug]
zend_extension =F:\Software\Dev\PHP\php-5.6.6-Win32-VC11-x64\ext\php_xdebug-2.3.1-5.6-vc11-x86_64.dllxdebug.remote_enable=true
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000

重启Apache, 运行phpinfo(),看到有xdebug信息,成功!

可以把phpinfo源码粘贴到http://www.xdebug.org/find-binary.php,提交后会告诉你下载哪个版本,如何操作;

安装ThinkPHP

(略)

测试ThinkPHP连接MySQL

修改php.ini ,打开pdo_mysql.dll扩展:

extension=php_pdo_mysql.dll

测试TP连接数据库:

竟然报错
:(
syntax error, unexpected ''DB_TYPE'' (T_CONSTANT_ENCAPSED_STRING), expecting ')' 

检查Phpinfo PDO设置,显示No driver

后经百度查询,是这个问题:

http://stackoverflow.com/questions/7086859/pdo-drivers-no-value-in-windows

解决方法:

修改php.ini

将原:

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
; extension_dir = "ext"

修改为:

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
; extension_dir = "ext"
extension_dir = "D:/soft/php-5.6.6-Win32-VC11-x64/ext"

其实就是加上红色字,具体路径请根据你的电脑实际修改。搞定!

 

 

<待续>

 

posted @ 2015-03-05 19:59  jsoft  阅读(1585)  评论(0)    收藏  举报