tedwhy 发表于 2015-8-6 09:25:48

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

  找到发布的根目录配置,




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 5.6 VC11 TS (64 bit)版本,跟php版本对应,将下载的php_xdebug-2.3.1-5.6-vc11-x86_64.dll复制到php/ext目录下
  在php.ini中追加:




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"
  其实就是加上红色字,具体路径请根据你的电脑实际修改。搞定!
  
  
  
  
页: [1]
查看完整版本: Windows下Apache,MySql,PHP安装配置