win7+apache+php+mysql环境配置操作详解


Posted in PHP onJune 10, 2013

1.php版本简介
php各版本之间的区别,php版本后面一般有VC6和VC9、Thread Safe和Non Thread Safe的区别,VC6就是legacy Visual Studio 6 compiler,就
是使用这个编译器编译的,VC9就是the Visual Studio 2008 compiler,就是用微软的VS编辑器编译的,如果你选用的是Apache或者其他服务软
件,那么选择VC6,选用的是IIS的话,那么请下载VC9 的。Thread Safe 是线程安全,而Non Thread Safe就是非线程安全, 官方并不建议你将
Non Thread Safe 应用于生产环境,所以一般选择Thread Safe版本的下载就可以了。下载Zip包就可以了。

2.php下载,选择哪个版本
下载地址http://windows.php.net/download/,笔者选择的是php-5.3.16-Win32-VC9-x86.zip
(1)如果用的是apache1或apache2,请选择vc6版的php
(2)如果用的是IIS,你应该选择VC9版的PHP
VC6的版本是用Visual Studio 6编译的,VC9是用Visual Studio 2008编译的,提升了性能和稳定性,VC9版本需要安装Microsoft 2008 C++ 
Runtime,下载地址http://www.microsoft.com/en-us/download/details.aspx?id=29,或者安装VC10,下载地址 
http://www.microsoft.com/download/en/details.aspx?id=8328

3.下载和安装apache
(1)下载地址http://httpd.apache.org/download.cgi,笔者下载的是httpd-2.2.22-win32-x86-openssl-0.9.8t.msi
(2)apache安装:
在这里主要配置
Network Domain:yourdomain.com
Server Name:www.yourdomain.com
Email:username@126.com
Apache服务的占用端口,默认为80端口,你可以根据需要配置在其他端口,Apache的安装目录你可以使用默认目录或根据需要自行选择安装目录
在完成apache服务的安装后,在游览器中输入http://localhost/,出现It's work!字样,说明Apache服务安装成功了。
(3)如果启动apache时,报了“(OS 10013)以一种访问权限不允许的方式做了一个访问套接字的尝试。 : make_sock: could not bind to 
address 0.0.0.0:80”的错误。
用netstat -ano查看80端口已被占用,通常80端口会被IIS占用。
(4)解决方法:打开Apache安装目录\conf\httpd.conf文件,需要修改listen 80--》listent 88
(5)在浏览器里输入http://localhost:88即可
(6)如果启动apache出错“httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.1.111 
for ServerName”是因为DNS没配置好. 如果不想配置DNS, 就在httpd.conf中去掉ServerName前的#,修改为 ServerName 127.0.0.1:88

4.php的安装和配置
(1)将php-5.3.16-Win32-VC9-x86.zip解压至d:\php
(2)php.ini-development配置文件重命名为php.ini
(3)打开php.ini文件,找到如下文本
; On windows:
; extension_dir = "ext"
去掉extension_dir前的“;”,修改为extension_dir = "D:/php/ext" 表示指定PHP扩展包的具体目录,以便调用相应的DLL文件。
(4)由于默认PHP并不支持自动连接Mysql,需开启相应的扩展库功能,比如php_mysql.dll等,找到如下dll文本,去掉前面的";"
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_pdo_odbc.dll
extension=php_xmlrpc.dll
(5)配置php的session功能
在使用session功能时,我们必须配置session文件在服务器上的保存目录,否则无法使用session,我们需要在Windows 7上新建一个可读写的目
录文件夹,此目录最好独立于WEB主程序目录之外,此处我在D盘根目录上建立了phpsessiontmp目录,然后在php.ini配置文件中找到
;session.save_path = "/tmp"
修改为
session.save_path = "D:/phpsessiontmp"
(6)配置PHP的文件上传功能
同session一样,在使用PHP文件上传功能时,我们必须要指定一个临时文件夹以完成文件上传功能,否则文件上传功能会失败,我们仍然需要在
Windows 7上建立一个可读写的目录文件夹,此处我在D盘根目录上建立了phpfileuploadtmp目录,然后在php.ini配置文件中找到
;upload_tmp_dir =
修改为

upload_tmp_dir = "D:/phpfileuploadtmp"
php默认上传文件大小为2M,
upload_max_filesize = 2M,可以根据自己的要求将其修改为
upload_max_filesize = 8M

(7)时区设置
修改date.timezone,否则在执行phpinfo时date部分会报错:Warning: phpinfo() [function.phpinfo]…,在php.ini配置文件中找到
;date.timezone =
修改为
date.timezone = Asia/Shanghai

5.配置Apache支持PHP,所以还需要在Apache配置文件中完成相应的PHP配置
(1)打开d:/apache/modules/mod_vhost_alias.so
在#LoadModule vhost_alias_module 下添加
LoadModule php5_module "c:/php/php5apache2_2.dll"
PHPIniDir "c:/php"
AddType application/x-httpd-php .php .html .htm
我们在PHP目录下可以看到多个php5apache的DLL文件,由于我们使用的是Apache2.2.15,所以我们当然需要使用php5apache2_2.dll,接着指定
PHP的安装目录以及执行的程序扩展名。
(2)再次打开apache的httpd.conf 修改DocumentRoot
DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
修改为
DocumentRoot "D:/PHPWeb"
(3)修改Directory
<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs">
修改为
<Directory "D:/PHPWeb">
(4)修改具体的index文件先后顺序,由于配置了PHP功能,当然需要index.php优先执行
DirectoryIndex index.html
修改为
DirectoryIndex index.php index.html
(5)开启支持rewrite module
#LoadModule rewrite_module modules/mod_rewrite.so 去掉前面#,
修改为 LoadModule rewrite_module modules/mod_rewrite.so

6、重启Apache服务器
至此,在Apache服务器上PHP环境配置工作就完成了,你只需要在D:/PHPWeb目录下新建一个PHP文件,写入

<?php
phpinfo();
?>

然后在浏览器中输入http://localhost:88,就可以看到PHP的具体配置页面了,代表在Window 7上PHP环境配置工作就算完成了。

7.测试数据库连接
新建testdb.php

<?php
$connect=mysql_connect("127.0.0.1","root","**");
if(!$connect) 
echo "Mysql Connect Error!";
else 
echo "db connect 你好";
mysql_close();
?>

若出现中文乱码,修改php.ini配置 default_charset = "utf-8"

8.如果你的如上配置太复杂,那么可以用wamp傻瓜化安装包,下载地址http://www.wampserver.com
因为WAMPSERVER (32 BITS & PHP 5.3) 2.2E里就包含了

Apache 2.2.22 ? Mysql 5.5.24 ? PHP 5.3.13 XDebug 2.1.2 XDC 1.5 PhpMyadmin 3.4.10.1 SQLBuddy 1.3.3 webGrind 1.0

笔者在自己电脑上用wamp发现虽然在PhpMyadmin建数据库和表时设置里UTF-8还是出现乱码,解决办法是在mysql_connect()之后加入

mysql_query("set names utf8");

即可解决中文乱码
PHP 相关文章推荐
php木马攻击防御之道
Mar 24 PHP
PHP Undefined index报错的修复方法
Jul 17 PHP
PHP flock 文件锁详细介绍
Dec 29 PHP
php使用qr生成二维码的示例分享
Jan 20 PHP
phpphp图片采集后按原路径保存图片示例
Feb 18 PHP
PHP实例分享判断客户端是否使用代理服务器及其匿名级别
Jun 04 PHP
Javascript与PHP验证用户输入URL地址是否正确
Oct 09 PHP
thinkPHP线上自动加载异常与修复方法实例分析
Dec 01 PHP
PHP面向对象之事务脚本模式(详解)
Jun 07 PHP
PHP验证类的封装与使用方法详解
Jan 10 PHP
PHP添加文字水印或图片水印的水印类完整源代码与使用示例
Mar 18 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
Oct 15 PHP
浅谈php中mysql与mysqli的区别分析
Jun 10 #PHP
探讨php中防止SQL注入最好的方法是什么
Jun 10 #PHP
php防注入,表单提交值转义的实现详解
Jun 10 #PHP
PHP获取当前页面完整URL的实现代码
Jun 10 #PHP
如何判断php数组的维度
Jun 10 #PHP
joomla jce editor 解决上传中文名文件失败问题
Jun 09 #PHP
php缩放图片(根据宽高的等比例缩放)实例介绍
Jun 09 #PHP
You might like
php实现的遍历文件夹下所有文件,编辑删除
2010/01/05 PHP
php 使用file_get_contents读取大文件的方法
2014/11/13 PHP
Zend Framework动作控制器用法示例
2016/12/09 PHP
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
动感效果的TAB选项卡jquery 插件
2011/07/09 Javascript
js对图片base64编码字符串进行解码并输出图像示例
2014/03/17 Javascript
node.js中的fs.read方法使用说明
2014/12/17 Javascript
轻松创建nodejs服务器(5):事件处理程序
2014/12/18 NodeJs
jQuery实现Div拖动+键盘控制综合效果的方法
2015/03/10 Javascript
JavaScript 变量、作用域及内存
2015/04/08 Javascript
JS获取文件大小方法小结
2015/12/08 Javascript
细数JavaScript 一个等号,两个等号,三个等号的区别
2016/10/09 Javascript
详解用函数式编程对JavaScript进行断舍离
2017/09/18 Javascript
vue watch监听对象及对应值的变化详解
2018/02/24 Javascript
[00:47]DOTA2荣耀之路6:玩不了啦!
2018/05/30 DOTA
利用Python的Django框架生成PDF文件的教程
2015/07/22 Python
python线程池(threadpool)模块使用笔记详解
2017/11/17 Python
python用户管理系统
2018/03/13 Python
Python实现的凯撒密码算法示例
2018/04/12 Python
Django中自定义查询对象的具体使用
2019/10/13 Python
python logging设置level失败的解决方法
2020/02/19 Python
解决python DataFrame 打印结果不换行问题
2020/04/09 Python
Django 解决阿里云部署同步数据库报错的问题
2020/05/14 Python
Python 字典一个键对应多个值的方法
2020/09/29 Python
顶级宝石首饰网络零售商:Angara
2016/10/25 全球购物
Coltorti Boutique官网:来自意大利的设计师品牌买手店
2018/11/09 全球购物
泰国王权免税店官方网站:KingPower
2019/03/11 全球购物
Travelstart沙特阿拉伯:廉价航班、豪华酒店和实惠的汽车租赁优惠
2019/04/06 全球购物
描述一下JVM加载class文件的原理机制
2013/12/08 面试题
《蚕姑娘》教学反思
2014/04/15 职场文书
尊老爱亲美德少年事迹材料
2014/08/14 职场文书
考试作弊被抓检讨书
2014/10/02 职场文书
2014年服务员工作总结
2014/11/18 职场文书
穷人该怎么创业?谨记以下几点
2019/07/11 职场文书
七年级作文之我的梦想
2019/10/16 职场文书
解决IDEA翻译插件Translation报错更新TTK失败不能使用
2022/04/24 Python