您的位置:首页 > 运维架构 > Apache

winXP WIN7搭建PHP+Apache+mysql

2012-10-30 22:21 337 查看
PHP版本 windows版:http://windows.php.net/download/ 源码:http://php.net/downloads.php
下载Thread Safe的zip版本
VC6的版本使用 visual studio6 编译
VC9使用 Visual Studio 2008 编译,并且改进了性能和稳定性。VC9 版本的 PHP 需要安装 Microsoft 2008 C++ Runtime(win7自带)
VC11需要安装微软 Microsoft Visual C++ 2012 Redistributable 补丁
TS指Thread Safety,即线程安全,一般在IIS以ISAPI方式加载的时候选择这个版本。Apache 一般用这个版本
NTS即None-Thread Safe,一般以fast cgi方式运行的时候选择这个版本,具有更好的性能。IIS 一般用这个版本

Apache版本:http://httpd.apache.org/download 或者 http://www.anindya.com/ 选择Win32的OpenSSL版本的如这里没有最新版本的win32版则可以上华军天空等下载

Mysql版本:http://dev.mysql.com/downloads/mysql/
Windows (x86, 32-bit), MSI Installer
Windows (x86, 64-bit), MSI Installer
两个版本都可

此文档用的是
php-5.5.1-Win32-VC11-x64.zip(XP用的是 php-5.2.17-Win32-VC6-x86.zip)
apache_2.4.4-x64-openssl-1.0.1e.msi(XP用的是 httpd-2.2.22-win32-x86-openssl-0.9.8t.msi)
mysql-5.5.28-win32.msi或者mysql-5.5.45-winx64.msi
vcredist_x64.exe 补丁

在D盘自定义新建文件夹ApacheServer
再在ApacheServer文件夹下分别建立php,Apache,mysql,web四个文件夹分别用来存放 php,apache,mysql,项目文件

PHP:
将下载的PHP压缩包根目录所有文件解压在D:\ApacheServer的php文件夹内

1,然后找到php目录下的php.ini-development文件,直接把文件名php.ini后面的删掉,这样就变成了php.ini(php-5.2.17-Win32-VC6-x86.zip 是把 php.ini-dist 改成 php.ini)
这里有两个相似的文件,一个是 php.ini-development,一个是php.ini-production,一个是适合开发用的,一个适合项目发布用的,所以,这里修改php.ini-development这个文件

2,打开php.ini
找到 ; extension_dir = "ext" (php-5.2.17-Win32-VC6-x86.zip是extension_dir = "./")
将前面的 ; 去掉并修改成 extension_dir = "D:/ApacheServer/php/ext"

3,然后还有一个就是让PHP支持MYSQL,找到
;extension=php_mysql.dll
把前面的 ; 号去掉就行了

4,(XP如果要可以使用mysql_connect()等方法还要把php目录下的libmysql.dll复制到C:\WINDOWS\system32下)

Apache:
安装apache,一路next
Network Domain和ServerName都填localhost。Administrator`s Email Address填自己的邮箱
端口选项选第一个为所有用户设为80端口,第二个仅为当前用户手动启动时设为8080端口。默认设为80端口就可以

next
选typical典型安装
(custom为自定义)

next
安装目录设的是D:\ApacheServer\Apache\
安装
输入http://localhost/页面显示It works!表示安装成功

接下来修改httpd.conf配置文件
httpd.conf在Apache安装目录下的conf文件夹下

1,在一大块LoadModule加载模块配置的最后一行下面添加

#加载PHP处理模块,让Apache以模块模式运行(不同于CGI,FASTCGI)
LoadModule php5_module "D:/ApacheServer/php/php5apache2_4.dll"
#php-5.2.17-Win32-VC6-x86.zip 是 LoadModule php5_module "D:/ApacheServer/php/php5apache2_2.dll"
#添加PHP等后缀的处理,可以执行.php文件
AddType application/x-httpd-php .php
#指定编译PHP的目录
PHPIniDir "D:/ApacheServer/php"

第一句话加载php对应apache版本的dll文件,PHP5.2对应apache2.2,PHP5.5对应apache2.4
然后第二句是添加PHP等后缀的处理,表示当Apache接收到内容头为application/x-httpd-php 或后缀为.php的文件时,将交给PHPIniDir 下的相关进行处理,这样我们的PHP
文件就能通过Apache然后让PHP进行编译了。
至此PHP与apache就关联上了

2,修改存放项目的目录
apache默认项目目录是在apache安装目录下的htdocs文件夹内,可以修改成想要指定的目录下,这里指定为D:\ApacheServer\web
所以找到并将
DocumentRoot "D:/ApacheServer/Apache/htdocs"
修改成
DocumentRoot "D:/ApacheServer/web"

还有
<Directory "D:/ApacheServer/Apache/htdocs">
修改成
<Directory "D:/ApacheServer/web">

MySql:
安装mysql
选custom以选择安装目录
在选择安装内容的小框内,点击MySQL Server设置安装目录
安装目录设在D:\ApacheServer\mysql
点击Server data files设置数据存储目录
数据目录设在D:\ApacheServer\mysql

一直下一步,选中启动设置向导安装完成会弹出设置框
选择Detailed configuration详细设置
standard configuration标准设置

下一步
如果仅仅只是作为WEB数据库,推荐选择第二项。
选择server machine 服务器
developer machine 开发机器
delicated mysql server machine 专业mysql服务器

下一步
Mysql数据库用途
选择multifunctional database 多功能数据库
transactional database only 仅仅事务型数据库
non-transactional database only仅仅没有事务的数据库

下一步
设定innodb数据存放位置
这里设为
D:\ApacheServer\mysql\innodb\

下一步
选择Mysql的并发连接数,第一项是最大20个连接并发数,第二项是最大500个并发连接数,最后一种是自定义,可以根据自己的需要选择。
选择第一个decision..

下一步
选择Mysql服务的端口号
端口默认3306即可
上下两个Enable复选框都选上,Enable strict mode开启精准模式
不用选add firewall exception for this port添加防火墙对此接口的列外

下一步
设置字符集
选择manual selected default character set手动选择默认字符集设置,将字符集设置成utf8或gbk
standard character set标准字符集设置
best support for multilingualism 多语言最佳支持

下一步
设置Mysql为Windows服务
选中install as windows service
service name默认MySql
选中launch the mysql server  automatically自动启动mysql数据库
其他不选
include bin directory in windows path目录包括在路径

下一步
设置root用户密码
选中enable root access from remote machines开启从远程机器访问root
其他不选
create an anonymous account创建一个匿名账号

一直next完成安装

至此PHP+apache+mysql安装完成

安装phpmyadmin
下载phpmyadmin压缩包,选all-languages的zip版本 http://www.phpmyadmin.net/home_page/downloads.php 解压缩到web目录下并将解压缩的文件夹改名phpmyadmin
在浏览器地址输入 http://localhost/phpMyAdmin/index.php 输入数据库用户名,密码即可访问

PHP.INI设置:
要使用phpmyadmin打开
extension=php_mysqli.dll

要PHP支持png,jpg,gif等(phpcmsV9必须)打开
extension=php_gd2.dll

大字符集,支持多字符集之间的转换
extension=php_mbstring.dll

php5默认<?php echo date("Y-m-d H:i:s");?>时间与北京时间相差八小时(少八小时)
为什么呢?PHP5系列版本新增了时区设置,默认为格林威治时间,与中国所在的东8区正好相差8个小时
查找
;date.timezone =
将  ;  去掉,并修改成 date.timezone = PRC

编辑 error_reporting = E_ALL 改成 error_reporting = E_ALL & ~E_NOTICE 就可以了,意思是除了E_NOTICE类型的错误(Notice)不报告,其他的都报告!

使 include 等可以包含域外网页如 include_once "http://www.126.com";
找到
allow_url_include = Off
改成
allow_url_include = On

httpd.conf设置:
服务器访问权限修改此处
<Directory "D:/ApacheServer/web">
...
Allow from all   (把Allow from 127.0.0.1改成Allow from all即可,apache2.4好像不用修改)
</Directory>

改端口
Listen 80

地址栏访问一个文件夹不指定页面时,默认读取index.php页面
DirectoryIndex index.html后面添加index.php用空格隔开
变成
DirectoryIndex index.html index.php

伪静态有时会需要用到该模块,找到
LoadModule rewrite_module modules/mod_rewrite.so
并将前面的#去掉
mod_rewrite模块包括很多工作,其中SEO人员最常用的就是在网站编辑时声明规则
被Apache实时地将访问者请求的静态URL地址映射为动态查询字符串,并发送给不同的PHP脚本处理
从搜索引擎蜘蛛的角度看来,这些URL地址是静态的。就是平时我们说的动态网站静态化。

my.ini设置:
更改数据库数据存储位置
安装好后在mysql安装根目录找到my.ini
找到
datadir="C:/Documents and Settings/All Users/Application Data/..."
将其值修改为
datadir="D:/ApacheServer/mysql/data/"
将原来存放数据的data文件夹内所有数据除mysql外全部复制到指定文件夹内
在my.ini最后一行添加
log=D:/ApacheServer/mysql/log.txt
对数据库执行的所有sql语句都将写入到该 log.txt 文件中,日志文件会越来越大,需手动清理,如无必要则不需添加该行命令
重启电脑或重启mysql服务
重启mysql服务:打开windows命令符输入net stop mysql停止mysql服务,net start mysql启动mysql服务
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: