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入门速成(2)
Oct 09 PHP
php smarty模版引擎中的缓存应用
Dec 11 PHP
php flv视频时间获取函数
Jun 29 PHP
php Rename 更改文件、文件夹名称
May 24 PHP
PHP新手NOTICE错误常见解决方法
Dec 07 PHP
解析yii数据库的增删查改
Jun 20 PHP
PHP实现显示照片exif信息的方法
Jul 11 PHP
PHP IDE phpstorm 常用快捷键
May 18 PHP
win7系统配置php+Apache+mysql环境的方法
Aug 21 PHP
WordPress中登陆后关闭登陆页面及设置用户不可见栏目
Dec 31 PHP
php微信公众号开发之秒杀
Oct 20 PHP
PHP延迟静态绑定使用方法实例解析
Sep 05 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
咖啡冲泡指南 咖啡有哪些制作方式 单品咖啡 意式咖啡
2021/03/06 冲泡冲煮
PHP基础学习小结
2011/04/17 PHP
CodeIgniter上传图片成功的全部过程分享
2013/08/12 PHP
PHP实现统计在线人数功能示例
2016/10/15 PHP
laravel model模型定义实现开启自动管理时间created_at,updated_at
2019/10/17 PHP
javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
2009/02/04 Javascript
JQuery.ajax传递中文参数的解决方法 推荐
2011/03/28 Javascript
鼠标滑上去后图片放大浮出效果的js代码
2011/05/28 Javascript
JavaScript 类型的包装对象(Typed Wrappers)
2011/10/27 Javascript
IE关闭时判断及AJAX注销案例学习
2013/02/18 Javascript
javaScript事件学习小结(四)event的公共成员(属性和方法)
2016/06/09 Javascript
jquery实现上传文件大小类型的验证例子(推荐)
2016/06/25 Javascript
node网页分段渲染详解
2016/09/05 Javascript
JS实现倒计时(天数、时、分、秒)
2016/11/16 Javascript
基于jQuery实现的查看全文功能【实用】
2016/12/11 Javascript
jQuery模拟窗口抖动效果
2017/03/15 Javascript
如何通过非数字与字符的方式实现PHP WebShell详解
2017/07/02 Javascript
老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)
2018/09/19 Javascript
使用electron实现百度网盘悬浮窗口功能的示例代码
2018/10/24 Javascript
用element的upload组件实现多图片上传和压缩的示例代码
2019/02/12 Javascript
JS实现前端动态分页码代码实例
2020/06/02 Javascript
[36:14]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第二局
2016/02/28 DOTA
python实现合并两个数组的方法
2015/05/16 Python
微信跳一跳自动运行python脚本
2018/01/08 Python
对Python中type打开文件的方式介绍
2018/04/28 Python
tensorflow 实现自定义layer并添加到计算图中
2020/02/04 Python
Python接口测试文件上传实例解析
2020/05/22 Python
解决Pycharm 中遇到Unresolved reference 'sklearn'的问题
2020/07/13 Python
Django使用django-simple-captcha做验证码的实现示例
2021/01/07 Python
JD Sports芬兰:英国领先的运动鞋和运动服饰零售商
2018/11/16 全球购物
美国在线轮胎零售商:SimpleTire
2019/04/08 全球购物
JDO的含义
2012/11/17 面试题
linux面试题参考答案(8)
2015/08/11 面试题
2015年公务员个人工作总结
2015/04/24 职场文书
bootstrapv4轮播图去除两侧阴影及线框的方法
2022/02/15 HTML / CSS
Nginx代理Redis哨兵主从配置的实现
2022/07/15 Servers