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核心代码分析require和include的区别
Jan 02 PHP
PHP 第二节 数据类型之数值型
Apr 28 PHP
php中配置文件操作 如config.php文件的读取修改等操作
Jul 07 PHP
php汉字转拼音的示例
Feb 27 PHP
windwos下使用php连接oracle数据库的过程分享
May 26 PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
Jul 12 PHP
详解PHP的Yii框架中日志的相关配置及使用
Dec 08 PHP
Yii2基于Ajax自动获取表单数据的方法
Aug 10 PHP
PHP设计模式之单例模式原理与实现方法分析
Apr 25 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
Dec 05 PHP
PHP如何使用JWT做Api接口身份认证的实现
Feb 03 PHP
php ActiveMQ的安装与使用方法图文教程
Feb 23 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开发负载均衡指南
2010/07/17 PHP
分割GBK中文遭遇乱码的解决方法
2013/08/09 PHP
jquery插件之easing 动态菜单
2010/08/21 Javascript
js Html结构转字符串形式显示代码
2011/11/15 Javascript
js将long日期格式转换为标准日期格式实现思路
2013/04/07 Javascript
让新消息在网页标题闪烁提示的jQuery代码
2013/11/04 Javascript
jQuery中Ajax的load方法详解
2015/01/14 Javascript
详解JavaScript数组的操作大全
2015/10/19 Javascript
js中对函数设置默认参数值的3种方法
2015/10/23 Javascript
向JavaScript的数组中添加元素的方法小结
2015/10/24 Javascript
jQuery中Nicescroll滚动条插件的用法
2016/11/10 Javascript
bootstrap daterangepicker汉化以及扩展功能
2017/06/15 Javascript
详解使用React.memo()来优化函数组件的性能
2019/03/19 Javascript
JS中FormData类实现文件上传
2020/03/27 Javascript
JS指定音频audio在某个时间点进行播放
2020/11/28 Javascript
[33:09]完美世界DOTA2联赛循环赛 Forest vs DM BO2第二场 10.29
2020/10/29 DOTA
[19:54]夜魇凡尔赛茶话会 第一期02:看图识人
2021/03/11 DOTA
python zip文件 压缩
2008/12/24 Python
python实现给字典添加条目的方法
2014/09/25 Python
python中bisect模块用法实例
2014/09/25 Python
python模块smtplib实现纯文本邮件发送功能
2018/05/22 Python
python日期时间转为字符串或者格式化输出的实例
2018/05/29 Python
Python 基于FIR实现Hilbert滤波器求信号包络详解
2020/02/26 Python
Django视图类型总结
2021/02/17 Python
利用css3画个同心圆示例代码
2017/07/03 HTML / CSS
canvas像素画板的实现代码
2018/11/21 HTML / CSS
html5指南-3.如何实现html元素拖拽功能
2013/01/07 HTML / CSS
Square Off美国/加拿大:世界上最聪明的国际象棋棋盘
2018/12/06 全球购物
用Python写一个for循环的例子
2016/07/19 面试题
材料化学应届生求职信
2013/10/09 职场文书
管理信息系学生的自我评价
2014/01/11 职场文书
交警个人先进事迹材料
2014/05/11 职场文书
运动会班级口号
2014/06/09 职场文书
预防传染病方案
2014/06/14 职场文书
金榜题名主持词
2015/07/02 职场文书
如何写好闭幕词
2019/04/02 职场文书