windows下php+mysql+apache手动搭建
1、1.到apache官网下载apache的.zip格式的安装包(httpd-2.2.32-x86-r1.zip),将其解压(这里以解压到D盘根目录为例)并打开Apache22/conf/httpd.conf 文件。
2、将文件中 “/Apache”替换为apache解压后所在段吩侮文件夹的路径:主要有3个位置:
ServerRoot "/Apache22" => ServerRoot "D:/Apache22"
DocumentRoot "/Apache22/htdocs" => DocumentRoot "D:/Apache22/htdocs"
<Directory "/Apache22/htdocs"> => <Directory "D:/Apache22/htdocs">
此时apache的默认web站点目录为Apache22/ htdocs目录
注意:apache2.4的配置文件只需要修改如下一处:
Define SRVROOT "/Apache24" 将“/Apache24”替换为apache解压后所在文件夹的路径
3、3.运行cmd,将路径切换到D:/Apache/bin 目录,运行如下命歌绵令:
httpd -k install #通过该命令,被安装的服务名称是Apache2.2,使用的配置文件是conf\httpd.conf
注意:如果使用的apache2.4版本,则服务名称默认时Apache2.4
4、安装配置PHP(php.ini)
从PHP官网下载php的压缩包(php-5.3.13-Thread Safe-Win32-VC9-x86.zip),将其解压并将文件夹命名为php5,并将php5目录下的php.ini-development命名为php.ini
5、打开php.ini做如下配置:
①配置php时区
搜索关键字 timezone
;date.timezone =
改为:
date.timezone =PRC
注意:将date前的”;”去掉。
②搜索关键字 extension_dir
; 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 = "D:/php5/ext" 注意:此处为php5目录下的ext目录的路径
③打开mysql模块(php.ini)
搜索关键字 php_mysql.dll
;extension=php_mbstring.dll
;extension=php_exif.dll ; Must be after mbstring as it depends on it
;extension=php_mysql.dll
;extension=php_mysqli.dll
修改为:
;extension=php_mbstring.dll
;extension=php_exif.dll ; Must be after mbstring as it depends on it
extension=php_mysql.dll
extension=php_mysqli.dll
6、配置apache (conf/httpd.conf)
以下加载方式适用于php5.3及以下版本
#装载php模块
LoadModule php5_module "D:/php5/php5apache2_2.dll"蚂鉴 #php5(安装目录)目录下php5apache2_2.dll文件的全路径
#让apache知道php.ini的所在位置
若使用的php版本为5.6.x,则用如下方式加载
LoadModule php5_module "D:/php5/php5apache2_4.dll" #php5.6.x(安装目录)目录下php5apache2_2.dll文件的全路径
若使用的php版本为7.x.x,则用如下方式加载
LoadModule php7_module "D:/php7/php7apache2_4.dll" #php7.x.x(安装目录)目录下php7apache2_4.dll文件的全路径
--------------------------------------------------------------------------------
PHPIniDir "D:/php5" #php.ini文件所在文件夹的路
#告知apache 凡是.php后缀文件,找php语言模块
<FilesMatch "\.php$">
setHandler application/x-httpd-php
</FilesMatch>
#第二种方法告知apache 某种后缀文件,找php语言模块
AddType application/x-httpd-php .htm .html .php
7、安装Mysql
从mysql官网下载.zip格式的安装包(mysql-5.5.40-win32.zip),将其解压后的文件夹命名为mysql5.5。
8、新建一个名为Mysql_Home的系统变量,值为 mysql5.5文件夹的路径,在系统变量Path中添加一个值:%Mysql_Home%/bin;
9、将mysql5.5目录下my-small.ini文件复制一个副本重命名为my.ini
修改my.ini文件的内容,替换为如下内容:
[client]
port = 3306
[mysql]
#设置mysql客户端的字符集
default-character-set = utf8
[mysqld]
port = 3306
#设置mysql的安装目录 (即mysql的解压目录)
basedir = D:\mysql5.5
#设置mysql数据库的数据存放目录(mysql的解压目录下的data目录)
datadir = D:\mysql5.5\data
#设置服务器端的字符集
character_set_server = utf8
#MySQL允许最大连接数
max_connections = 100
10、安装mysql服务:以管理员身份运行cmd,输入如下命令:
mysqld --install MySQL --defaults-file=D:\mysql5.5\my.ini
注意:file=my.ini文件的全路径
11、安装mysql5.7注意事项
在老的版本中mysql是有一个data文件夹的,5.7版本这个文件夹需要自动生成,执行命令如下
mysqld --initialize
#此时会随机生成一个默认密码存储在生成的data目录下.err文件里
mysqld --initialize-insecure
#该命令生成data目录 密码为空
特别提醒注意的一点是,5.7版本mysql数据库下的user表中已经没有Password字段了而是将加密后的用户密码存储于authentication_string字段
修改密码使用如下命令
alter user 'root'@'localhost' identified by '新密码';
设置数据库密码
use mysql;
UPDATE user SET Password=password('dfgh1234') WHERE user='root';
flush privileges;
允许root用户远程连接
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "dfgh1234";
flush privileges;
启动mysql服务:net start mysql
登录mysql:mysql –hlocalhost –uroot –p 回车提示输入密码,此时密码为空,再次按回车即可登录
修改密码:set password = password(‘新密码’);
停止mysql服务:net stop mysql
12、apache2.2多站点配置
<virtualhost *:80>
ServerName www.abc.com #设置服务器名
ServerAlias map.abc.com tv.abc.com #指定站点的“别名”
DocumentRoot "H:/phpweb2"
<Directory "H:/phpweb2">
Options Indexes
Order Deny,Allow
Allow from all
DirectoryIndex index.php index.html #几乎不需要写Deny
</Directory>
</virtualhost>
#apache2.4多站点配置
<VirtualHost *:80>
ServerName www.study.com #设置主机名
ServerAlias study.com #设置主机别名,
DocumentRoot "E:/www/study" #设置该站点根目录
<Directory "E:/www/study"> #设置文件夹访问控制
Options Indexes #用于显示设定“可显示文件列表”
AllowOverride All #启用文件夹访问控制的文件.htaccess设置
Require all granted #请求控制
DirectoryIndex index.php index.html #默认打开的页面设置
</Directory>
</VirtualHost>
13、Apache2.4 php7需要 VC14支持
#Apache2.4命令行安装时修改配置文件注意:
Define SRVROOT "apache目录"
#Apache2.4装载php7模块
LoadModule php7_module "D:/phpweb/php-7.0.13/php7apache2_4.dll"
注意:php7不在支持mysql扩展需要使用mysqli
//mysqli扩展连接mysql代码
$mysqli = new mysqli("localhost", "root", "123456");
if(!$mysqli) {
echo"<br/>database error";
}else{
echo"<br/>php env successful";
}