[推荐] 新手搭建PHP环境必备知识:windows下PHP5+APACHE+MYSQ完
附录: php5 相关软件下载: http://www.cnblogs.com/qiantuwuliang/archive/2009/06/27/1512211.html 经过一段时间*的 PHP 编程,对WINDOWS平台下PHP的配置可算是深有感触,一开始我用的是一键安装的傻瓜包,但是考虑傻瓜包的安装版本已经落后,在真正手
附录:
php5 相关软件下载: http://www.cnblogs.com/qiantuwuliang/archive/2009/06/27/1512211.html
经过一段时间*的PHP编程,对WINDOWS平台下PHP的配置可算是深有感触,一开始我用的是一键安装的傻瓜包,但是考虑傻瓜包的安装版本已经落后,在真正手动配置PHP环境时遇到许多问题,在查阅了许多资料和尝试后,终于配置成功。现在,我将我的配置经验和大家分享一下,相信可以解决大家配置PHP环境的迷惑。
首先说一下我用的软件版本。
- PHP 5.1.6
- APACHE 2.0.59(注意:APACHE 2.2.X版本以上要增加插件才支持PHP 5的)
- MYSQL 5.0.24a
步骤一:安装php
好了,现在开始安装,我先装的php5,直接解压文件到C:php(安装到哪里并不会有影响,凭个人喜号,本文中的所有路径都以我的安装路径,请大家在自己的机器上安装的时候注意修改为自己的路径);
步骤二:安装Apache
1.接着安装Apache,我直接把它装到C盘根目录下,在安装过程中,会出现3个文本框,上面两个输入你的本机IP,最下面的输入你的EMAIL,好的。安装完毕。
2.现在编辑..ApacheGroup/Apache2/conf下的httpd.conf文件。用记事本打开该文件,在最后添上这两行代码(让Apache可运行php文件,建立运行关联):
LoadModule php5_module "C:\php\php5apache2.dll"
AddType application/x-httpd-php .php
--注意:上面的 php5apache2.dll 要改成 php5apache2_2.dll,即
LoadModule php5_module "C:\php\php5apache2_2.dll"
AddType application/x-httpd-php .php
否则会出现如下异常:
Apache2.2提示Cannot load php5apache2.dll into server的的解决(http://www.cnblogs.com/qiantuwuliang/archive/2009/06/27/1512242.html)
3.我在C:目录下建立了一个www的目录用于存放我的站点文件,在httpd.conf里找到这样一句话:
DocumentRoot "C:\Apache2\htdocs"
改成了
DocumentRoot "C:\www"
4.修改目录的默认首页:
找到DirectoryIndex 后面写上你想设置为首页的文件名,如:index.html index.php等(注意,各文件间是用空格隔开)。
5.修改端口号:Listen 8080
6.语言优先级,找到下列语句
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)的部分剪切放到前面(也就是将原来文件中的相应部分改成如上的。
步骤三:配置PHP(php.ini)
其他也没什么好改动的。APACH的配置就到这里。接着讲PHP的配置。
1.把php.ini-dist复制到C:\windows 下改名为 php.ini(装过php的都做过吧)然后修改了几个地方:
2.在Data Handling下找到
post_max_size = 8M
这是PHP将接受的POST数据最大大小,可更改为20M。
3.在Paths and Directories下找到extension_dir=
这里设置的是PHP搜索扩展库的位置,将其路径设为extensions文件夹的位置,即改成:
extension_dir= "C:\php\ext"
4.在File Uploads下找到
upload_max_filesize = 2M
,允许上传的的最大文件大小
可更改为20M。
5.Dynamic Extensions这里是PHP扩展设置部分,列出了PHP所有的可支持扩展,前面都加了分号注释,表示目前PHP配置不支持扩展,我们可以将分号去掉让PHP支持该扩展下面列出的是几个常用且较实用的PHP扩展把下面几句前面的分号去掉
代码
1 ;extension=php_mbstring.dll
2 ;extension=php_dba.dll
3 ;extension=php_dbase.dll
4 ;extension=php_filepro.dll
5 ;extension=php_gd2.dll
6 ;extension=php_imap.dll
7 ;extension=php_mysql.dll
8 ;extension=php_mcrypt.dll
到这里php.ini就配置结束。
步骤四:配置支持MYSQL
1.接着很重要的一点将
C:\PHP\libmysql.dll ,
C:\PHP\ext\php_mysql.dll ,
C:\PHP\ext\php_mysqli.dll
C:\PHP\libmcrypt.dll //(这个组件主要是MYSQL客户端管理软件phpMyAdmin用到)
拷贝到C:\Windows\system32下,这样PHP5才能支持MYSQL。
步骤五:重启Apache,并测试环境是否可用
重启Apache,在主目录下新建一个记事本文件test在里面输入
php
phpinfo();
?>
保存后修改后缀名为PHP。在浏览器输入http://127.0.0.1/test.php是不是看到PHP版本信息,没错,这样PHP的配置就完成了。
步骤六:安装MYSQL
接下来安装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.x和4.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'");
但是如果网页很多,这样不是很麻烦,所以我在编写PHP时将所有数据库的操作写成一个类如:
class db{
….包含一些数据库调用方法….
//创建数据库连接并选择相应数据库
function createcon(){
mysql_connect(…);mysql_query("SET NAMES 'GBK'");
}
}
这样,改动一处就可以了,是不是很方便?呵呵,相信大家看完这篇文章就在也不觉的PHP环境难配置了,好了,写这么多,累死了,祝大家学习愉快!