本文目标
在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
找到发布的根目录配置,
AllowOverride none
Require all denied
修改为:
AllowOverride none
#Require all denied
Require all granted
重启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:
在浏览器中测试:http://localhost:8080/test.php
成功!
让PHP支持xdebug
先下载xdebug扩展:
下载地址:http://xdebug.org/download.php
当前版本:2.3.1,我们下载
在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 inwhich the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"; On windows:
; extension_dir= "ext"
修改为:
; Directory inwhich 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"
其实就是加上红色字,具体路径请根据你的电脑实际修改。搞定!