在windows下,apache和mysql都有自动化安装的程序,本篇则侧重从apache和php版本选择,php线程安全,apache和mysql安装启动服务,工作环境配置这几个方面来阐述windows下搭建apache+php+mysql过程。

Apache下载地址:http://httpd.apache.org/download.cgi

php下载地址:http://windows.php.net/download/

mysql下载地址:http://dev.mysql.com/downloads/mysql/

一、版本选择

按php官网的说法,php版本不同,选择编译器有所不同,apache的安装包选择也不同。

目前,php5.5使用的编译器是vc11,php5.4和php5.3的是vc9,php5.2的是vc6,但php5.2已不再更新了。

有个问题要特别注意:apache.org在windows下只提供vc6编译的版本。换句话说,如果你选择了apache.org 发布的版本,那你只能选择php5.2,否则可能会有问题。

另外,windows下运行vc9或vc11编译的程序,需要安装Visual C++ 运行库,可以在windows官网下载安装Visual C++ 2008(x86)、Visual C++ 2008(x64)、Visual C++ 2012(x86 or x64)

如果使用php5.3以上的版本,推荐到ApacheLounge.com下载apache。

二、线程安全

php线程安全是保证php在多线程环境下不会出现数据不一致的情况发生,而非线程安全就有可能出现。因此线程安全要对资源进行控制,增加了额外的系统开销,在单线程环境下效率比非线程安全低。

那么,如何去选择使用线程安全(Thread safe)或非线程安全(Non Thread Safe)的版本?

1、DSO(mod_php、ISAPI等)

以 DLL 动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,这里选择线程安全版本;
2、CGI(CGI、FastCGI)

以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,这里选择非线程安全版本。

三、启动服务

这里忽略安装包傻瓜式安装的操作,如果手动安装apache和mysql服务,参考以下命令

#安装apache2.2服务
D:/apache2.2/bin/httpd.exe -k install
#启动apache2.2服务
D:/apache2.2/bin/httpd.exe -k start

#安装mysql服务
D:/mysql/bin/mysqld.exe -install
#启动mysql服务
sc start mysql

四、配置环境

1、配置apache支持php


PHPIniDir "D:/php/php.ini"
LoadModule php5_module "D:/php/php5apache2_2.dll"
AddType application/x-httpd-php .php

2、配置php支持mysql


extension_dir = "D:/php/ext"
extension = php_mysql.dll

3、php连接mysql


$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>