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 相关文章推荐
编译问题
Oct 09 PHP
PHP设计模式之代理模式的深入解析
Jun 13 PHP
php获得用户ip地址的比较不错的方法
Feb 08 PHP
php写入数据到CSV文件的方法
Mar 14 PHP
PHP strip_tags保留多个HTML标签的方法
May 22 PHP
PHP Yaf框架的简单安装使用教程(推荐)
Jun 08 PHP
Yii2中关联查询简单用法示例
Aug 10 PHP
php str_replace替换指定次数的方法详解
May 05 PHP
浅谈PHP5.6 与 PHP7.0 区别
Oct 09 PHP
layui数据表格自定义每页条数limit设置
Oct 26 PHP
Thinkphp 框架扩展之驱动扩展实例分析
Apr 27 PHP
详解php反序列化
Jun 10 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/01 无线电
PHP 判断常量,变量和函数是否存在
2009/04/26 PHP
php使用APC实现实时上传进度条功能
2015/10/26 PHP
PHP利用二叉堆实现TopK-算法的方法详解
2017/04/24 PHP
tp5框架的增删改查操作示例
2019/10/31 PHP
JSChart轻量级图形报表工具(内置函数中文参考)
2010/10/11 Javascript
JQuery将文本转化成JSON对象需要注意的问题
2011/05/09 Javascript
得到jQuery detach()后节点中的某个值实现代码
2013/02/05 Javascript
jquery实现div阴影效果示例代码
2013/09/16 Javascript
javascript数组操作(创建、元素删除、数组的拷贝)
2014/04/07 Javascript
javascript实现checkBox的全选,反选与赋值
2015/03/12 Javascript
基于jquery插件编写countdown计时器
2016/06/12 Javascript
javascript实现去除HTML标签的方法
2016/12/26 Javascript
javascript中this用法实例详解
2017/04/06 Javascript
详解nodejs微信公众号开发——6.自定义菜单
2017/04/13 NodeJs
详解Vue2中组件间通信的解决全方案
2017/07/28 Javascript
细说webpack源码之compile流程-入口函数run
2017/12/26 Javascript
解决element UI 自定义传参的问题
2018/08/22 Javascript
vue组件文档(.md)中如何自动导入示例(.vue)详解
2019/01/25 Javascript
python使用rabbitmq实现网络爬虫示例
2014/02/20 Python
深度剖析使用python抓取网页正文的源码
2014/06/11 Python
Python文件操作类操作实例详解
2014/07/11 Python
Python中创建字典的几种方法总结(推荐)
2017/04/27 Python
Python3.6.0+opencv3.3.0人脸检测示例
2018/05/25 Python
Python实现12306火车票抢票系统
2019/07/04 Python
python获取百度热榜链接的实例方法
2020/08/25 Python
Python实现列表索引批量删除的5种方法
2020/11/16 Python
微软新西兰官方网站:Microsoft New Zealand
2018/08/17 全球购物
印度尼西亚手表和包包商店:Urban Icon
2019/12/12 全球购物
社会保险接收函
2014/01/12 职场文书
学雷锋志愿者活动总结
2014/06/27 职场文书
2016春节家属慰问信
2015/03/25 职场文书
计算机教师工作总结
2015/08/13 职场文书
入伍志愿书怎么写?
2019/07/19 职场文书
mysql的MVCC多版本并发控制的实现
2021/04/14 MySQL
原型和原型链 prototype和proto的区别详情
2021/11/02 Javascript