windows下PHP APACHE MYSQ完整配置


Posted in PHP onJanuary 02, 2007

经过最近一段时间狂热的PHP编程,对WINDOWS平台下PHP的配置可算是深有感触,一开始我用的是一键安装的傻瓜包,但是考虑傻瓜包的安装版本已经落后,在真正手动配置PHP环境时遇到许多问题,在查阅了许多资料和尝试后,终于配置成功。现在,我将我的配置经验和大家分享一下,相信可以解决大家配置PHP环境的迷惑。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

首先说一下我用的软件版本。

PH<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />P 5.1.6

APACHE 2.0.59(注意:APACHE 2.2.X版本以上必须安装插件才支持PHP 5)

MYSQL 5.0.24a

 

  好了,现在开始安装,我先装的php5,直接解压文件到C:\php安装到哪里并不会有影响,凭个人喜号,本文中的所有路径都以我的安装路径,请大家在自己的机器上安装的时候注意修改为自己的路径),接着安装APACHE,我直接把它装到C盘根目录下,在安装过程中,会出现3个文本框,上面两个输入你的本机IP,最下面的输入你的EMAIL,好的。安装完毕。现在编辑..\Apache Group\Apache2\conf\下的httpd.conf文件。用记事本打开该文件,在最后添上这两行代码:

LoadModule php5_module "C:/php/php5apache2.dll"
AddType application/x-httpd-php .php

 

  我在C:\目录下建立了一个www的目录用于存放我的站点文件,在httpd.conf里找到这样一句话:DocumentRoot "C:/Apache2/htdocs"改成了DocumentRoot "C:/www"。这样,就将主目录设置成了C:\www。如果你不想更改主目录位置,可以不更改此项。

 

  修改目录的默认首页:
找到DirectoryIndex 后面写上你想设置为首页的文件名,如:index.html index.php等。

 

  语言优先级,找到下列语句

  LanguagePriority zh-CN zh-TW en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv
把中文(zh-CN zh-TW)的部分剪切放到前面(也就是将原来文件中的相应
部分改成如上的。

 

其他也没什么好改动的。APACH的配置就到这里。接着讲PHP的配置。

 

php.ini-dist复制到C:\windows 下改名为 php.ini(装过php的都做过吧)
然后修改了几个地方:

 

 

Data Handling下找到post_max_size = 8M

这是PHP将接受的POST数据最大大小,可更改为20M

 

Paths and Directories下找到extension_dir=

这里设置的是PHP搜索扩展库的位置,将其路径设为extensions文件夹的位置,即改成:

extension_dir= "C:\php\ext"

 

File Uploads下找到upload_max_filesize = 2M,允许上传的的最大文件大小

可更改为20M

 

Dynamic Extensions
这里是PHP扩展设置部分,列出了PHP所有的可支持扩展,前面都加了分号注
释,表示目前PHP配置不支持扩展,我们可以将分号去掉让PHP支持该扩展
下面列出的是几个常用且较实用的PHP扩展
把下面几句前面的分号去掉

;extension=php_mbstring.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_filepro.dll
;extension=php_gd2.dll
;extension=php_imap.dll
;extension=php_mysql.dl
l

到这里php.ini就配置结束。接着很重要的一点将

C:\PHP\libmysql.dllC:\PHP\ext\php_mysql.dllC:\PHP\ext\php_mysqli.dll

拷贝到C:\Windows\system32下,这样PHP5才能支持MYSQL

  重起APACHE,在主目录下新建一个记事本文件test在里面输入

<?php

phpinfo();

?>

保存后修改后缀名为PHP。在浏览器输入http://127.0.0.1/test.php是不是看到PHP版本信息,没错,这样PHP的配置就完成了。接下来安装MYSQL

 

第一步:双击.exe文件出现的第一个需要选择的对话框是Setup Type 也就是
安装种类,这里我们可以选择Custom,根据自己的需要来安装组件和配置安装路径

点击Next,右键点击对话框出现几个硬盘形状的图标,根据自己的需要选择安装组件,

点击窗口右下的Change按钮更改安装路径的,设置好后,点击Next开始安装安装到最
后会有如下一个对话框在这里的三个选项分别是:

1:如果你没有MYSQL.com帐户,选第一个,创造一个新的免费的MYSQL.com帐户

2:如果你有MYSQL.com帐户,选第二个,填入已经注册好的邮箱名和密码

3:跳过此步骤

我们选第一个

接下来会一次出现三个对话框,在三个对话框中有* 号的部分是必须要填的,
按顺序分别是邮箱名,密码,确认密码;first name last name;邮政编码,
国家,省名。国家名选china,省名选other or N/A即可4.1.x4.0.x系列版
本很大一个区别就是在安装完毕后不是运行 mysql文件夹下面的winmysqladmin.exe
启动服务器后设置选项,而是有一个设置的过程。

第二步:设置MYSQL

首先你会看到这样的一个窗口,这里有两个选项,分别是详细配置和标准配置,
小型应用选第二项就可以了点击Next后出现下面的对话框,这里是重要的,一定
要在下拉菜单里选择MySQL41,否则不能正常启动,下面的选项是是否应用命令行,
最好选上点击Next后设置数据库密码的对话框,中间偏右和下面的选项分别是是否
允许远程控制和是否允许匿名帐号登入,为了安全,不要选择好了,点击Next后出
现最后的对话框,点击Execute按钮数据库服务器便启动了,依次出现四个对号后
点击Finish结束安装

  装上PHPMYADMIN后测试连接,若出现

#1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client
开始菜单找到刚刚安装的MYSQL命令行工具,输入root的密码后键入如下的字样:
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD(‘刚才设置的ROOT密码')
-> WHERE Host = 'localhost' AND User = 'root';
mysql> FLUSH PRIVILEGES;(
注意FLUSH后有空格)

然后浏览“http://localhost/phpmyadmin”OH YEAH 测试成功!

 

  在谈一下关于MYSQL 4.1以后由于采用UTF8导致的乱码问题解决办法。首先注意一点,在新建数据库的时候字符集一定要选择UTF8,在PHPMYADMIN中新建数据库下,创建按钮的左边,有个下拉列表,默认是“整理”,选择UTF8。你会发现表里数据不在是问号了。

但是网页的输出还是问号,不要急接着在PHP语句中要有所改动:

mysql_connect(…连接参数);后加上mysql_query("SET NAMES 'GBK'");linux 下GBK改为UTF8

但是如果网页很多,这样不是很麻烦,所以我在编写PHP时将所有数据库的操作写成一个类如:

class db{

.包含一些数据库调用方法….

  //创建数据库连接并选择相应数据库

       function createcon(){

           mysql_connect();mysql_query("SET NAMES 'GBK'");

}

}

这样,改动一处就可以了,是不是很方便?呵呵,相信大家看完这篇文章就在也不觉的PHP环境难配置了,好了,写这么多,累死了,祝大家学习愉快!

PHP 相关文章推荐
PHP 5.0对象模型深度探索之绑定
Sep 05 PHP
AJAX for PHP简单表数据查询实例
Jan 02 PHP
PHP 高级课程笔记 面向对象
Jun 21 PHP
如何使用PHP计算上一个月的今天
May 23 PHP
浅析PHP substr,mb_substr以及mb_strcut的区别和用法
Jun 21 PHP
ci检测是ajax还是页面post提交数据的方法
Nov 10 PHP
php下Memcached入门实例解析
Jan 05 PHP
WordPress中访客登陆实现邮件提醒的PHP脚本实例分享
Dec 14 PHP
PHP简单实现上一页下一页功能示例
Sep 14 PHP
利用PHP判断是否是连乘数字串的方法示例
Jul 03 PHP
PHP程序员学习使用Swoole的理由
Jun 24 PHP
ThinkPHP6.0如何利用自定义验证规则规范的实现登陆
Dec 16 PHP
PHP Ajax实现页面无刷新发表评论
Jan 02 #PHP
PHP+AJAX实现无刷新注册(带用户名实时检测)
Jan 02 #PHP
新手学PHP之数据库操作详解及乱码解决!
Jan 02 #PHP
默默小谈PHP&amp;MYSQL分页原理及实现
Jan 02 #PHP
默默简单的写了一个模板引擎
Jan 02 #PHP
超强分页类2.0发布,支持自定义风格,默认4种显示模式
Jan 02 #PHP
PHP小技巧搜集,每个PHPer都来露一手
Jan 02 #PHP
You might like
PHP实现的连贯操作、链式操作实例
2014/07/08 PHP
php使用fopen创建utf8编码文件的方法
2014/10/31 PHP
php递归创建目录的方法
2015/02/02 PHP
PHP面向对象程序设计实例分析
2016/01/26 PHP
基于jquery中children()与find()的区别介绍
2013/04/26 Javascript
Jquery网页出现的乱码问题的三种解决方法
2013/06/30 Javascript
页面刷新时记住滚动条的位置jquery代码
2014/06/17 Javascript
js实现网页右上角滑出会自动消失大幅广告的方法
2015/02/27 Javascript
JavaScript使用push方法添加一个元素到数组末尾用法实例
2015/04/06 Javascript
Javascript验证Visa和MasterCard信用卡号的方法
2015/07/27 Javascript
Bootstrap每天必学之标签与徽章
2015/11/27 Javascript
Javascript数组Array方法解读
2016/03/13 Javascript
JS实现回到页面顶部动画效果的简单实例
2016/05/24 Javascript
浅谈JS使用[ ]来访问对象属性
2016/09/21 Javascript
JS制作类似选项卡切换的年历
2016/12/03 Javascript
jQuery实现可拖拽3D万花筒旋转特效
2017/01/03 Javascript
基于JS实现网页中的选项卡(两种方法)
2017/06/16 Javascript
JavaScript判断浏览器版本的方法
2019/11/03 Javascript
java遇到微信小程序 &quot;支付验证签名失败&quot; 问题解决
2019/12/22 Javascript
node.js 微信开发之定时获取access_token
2020/02/07 Javascript
从零学python系列之数据处理编程实例(二)
2014/05/22 Python
python自动化测试实例解析
2014/09/28 Python
Python使用Srapy框架爬虫模拟登陆并抓取知乎内容
2016/07/02 Python
浅谈用VSCode写python的正确姿势
2017/12/16 Python
Python对象转换为json的方法步骤
2019/04/25 Python
python 模拟贷款卡号生成规则过程解析
2019/08/30 Python
面向对象学习之pygame坦克大战
2019/09/11 Python
pytorch 中的重要模块化接口nn.Module的使用
2020/04/02 Python
一套带网友答案的.NET笔试题
2016/12/06 面试题
如何清空Session
2015/02/23 面试题
毕业生自荐信的主要内容
2013/10/29 职场文书
电子技术专业中专生的自我评价
2013/12/17 职场文书
电子商务专业应届毕业生求职信
2014/06/21 职场文书
设立有限责任公司出资协议书
2014/11/01 职场文书
优秀团员主要事迹材料
2015/11/05 职场文书
合同补充协议书
2016/03/24 职场文书