在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服务
net 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

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

windows下搭建apache+php+mysql的更多相关文章

  1. windows下搭建Apache+Mysql+PHP开发环境

    原文:windows下搭建Apache+Mysql+PHP开发环境 要求 必备知识 熟悉基本编程环境搭建. 运行环境 windows 7(64位); Apache2.2;MySQL Server 5. ...

  2. Mac下搭建Apache+PHP+MySql运行环境

    https://www.cnblogs.com/xiaovw/p/8854896.html 前言 我们在Mac上搭建Apache+PHP+MySql环境是非常方便的,因为Mac预装的有Apache和P ...

  3. windows 下搭建 apache + php52 + postgreSQL7/8/9环境

    apache和php安装参考:[转]Windows7 64bit下配置Apache+PHP+MySQL 我这主要讲配置  apache 支持 postgresql9数据库: 1.将php5文件夹下的p ...

  4. lamp :在Linux 下搭建apache、Mysql、php

    CentOS下搭建LAMP环境 LAMP: Linux + Apache + PHP + Mysql. 系统: CentOS 7,64位. CentOS安装 我选取了64位的CentOS 7这个Lin ...

  5. Windows下卸载Apache、Mysql

    卸载Apache 1. 停止服务 2.以管理员身份打开命令环境 3. 删除Apache文件目录 卸载Mysql 一.在控制面板,卸载MySQL的所有组件控制面板——>所有控制面板项——>程 ...

  6. 阿里云服务器 :Linux环境下搭建Apache+php+mysql

    以前我用的是Windows2012 的服务器,那时候只是抱着玩一玩的心态,所有用的是Windows,但是后来被导师给DISS了,于是决定改服务器的操作系统: (一)下载安装php+mysql+apac ...

  7. Windows下搭建Apache+Django+Python Web服务环境

    最近在学Django,想用Apache搭建一个服务器环境,因此在网上看了好多资料,很多都是用Python2.6和Apache2.2搭建的环境,不过我还是想用Python35和Apache24来搭建,具 ...

  8. Windows下搭建Apache网站

    目录 Apache下载 Apache安装 httpd.conf文件格式说明 启动服务并测试 Apache下载 在Apache官网底部找到APACHE PROJECT LIST里的HTTP Server ...

  9. windows下搭建nginx+php+mysql环境

    一.下载需要的东西 1.nginx:http://nginx.org/en/download.html 2.php:http://php.net/downloads.php 3.mysql:(暂时先不 ...

随机推荐

  1. [MATLAB] 利用遗传算法函数求目标函数的最优解

    最近接触到了遗传算法以及利用遗传算法求最优解,所以就把这些相关的内容整理记录一下. 一.遗传算法简介(摘自维基百科) 遗传算法(英语:genetic algorithm (GA))是计算数学中用于解决 ...

  2. VHDL数据类型转换

    函     数     名                                     功           能 STD_LOGIC_1164包集合          TO_STDLOG ...

  3. 获取IP地址(简单实现)

    #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket ...

  4. MFC CArchive实现保存到二进制文件

    先看一下效果图 BOOL Save2File() { BOOL bOpenFileDialog = FALSE; ---------------------------------- ① BOOL b ...

  5. asp.net mvc 注册中的邮箱激活功能实现(一)

    基本流程图 注册页面就不再写出,现在将发送邮件的代码粘贴出来 public ActionResult SendEmial() { ; string validataCode = System.Guid ...

  6. SQL Server 一些重要视图3

    1. sys.dm_tran_locks; 为每一把锁返回一行.request_session_id 可以与sys.dm_tran_session_transactions \sys.dm_exec_ ...

  7. Redis用户添加、分页、登录、注册、加关注案例

    连接redis代码redis.php <?php //实例化 $redis = new Redis(); //连接服务器 $redis->connect("localhost&q ...

  8. 你是否决绝平庸,你有勇气来学C/C++吗,有勇气来检验你是否经得起世界五百强的面试

       如果你来传智播客学习 你的目标就是要积累工作经验 有机会参加世界五百强的面试 秒杀世界五百强的面试 赢得高薪的offer! C/C++课程大纲 C语言3周21天 完全掌握C语言的本质,成为一名合 ...

  9. javascript 中 keyup、keypress和keydown事件

    keyup.keypress和keydown事件都是有关于键盘的事件 1. keydown事件在键盘的键被按下的时候触发,keyup 事件在按键被释放的时候触发    keydown.keypress ...

  10. error C3861: “gets”: 找不到标识符

    error C3861: “gets”: 找不到标识符 解决办法: 把“gets”改成“gets_s”