在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);
?>