初学php,需要搭建其开发环境。由于版本更替等原因,网上的方法几乎一人一个样,让人无所适从。昨天花了一晚上时间才在XP下配置好,现将其整理出来,希望能对别人有用。(2007-11-21)
一、 下载软件。
1. 下载apache_2.0.55-win32-x86-no_ssl.msi,右键用迅雷点击此处下载(直接点击不行)。二、安装配置
1. 首先安装apache
双击安装即可。假设我安装到了 c:/apache2 目录下。安装完毕后在浏览器中输入http://localhost 或者http://127.0.0.1 如果不出现错误界面既是安装成功。apache默认使用80端口,由于未知原因我的apache和80端口冲突,我手动将其改为了8080端口,方法如下:
使用ultrleEdit-32打开c:/apache2/conf/httpd.conf文件(此为apache的配置文件),用ctrl+f找到"Listen 80",将其改为“Listen 8080”即可。但以后要浏览器中就得这样打了:
或者:
你的站点文件默认是在c:/apache2/htdocs下的,这就是你网站的根目录,你可以更改。方法如下:
在c:/apache2 新建目录www,然后在httpd.conf找到“DocumentRoot "c:/apache2/htdocs"改成DocumentRoot "c:/apache2/www",然后找到它下面不远处的“<Directory "./">”,将其改为<Directory "c:/apache2/www">即可。
修改目录的默认首页:
在httpd.conf中找到,DirectoryIndex 后面写上你想设置为首页的文件名,如:index.html
index.htm index.php等
要使这些配置生效需要重新启动apache
2. 安装配置php5
解压缩PHP压缩包到C:/php5(这个路径可以随意,不过以下要是用到这个路径,请相应的修改)。
把C:/php5下的php.ini-dist改名为php.ini后再复制到C:/windows 然后修改几个地方:
extension_dir = "C:/php5/ext"
(指定动态连接库的目录,php5和php4不同的地方就是它的动态连接库目录变了,这在它的文档结构里有详细的说明)
然后把下面几句前面的分号去掉
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_gd2.dll
;extension=php_imap.dll
;extension=php_mbstring.dll
;extension=php_mcrypt.dll
;extension=php_mysql.dll
即改为:
extension=php_dba.dll
extension=php_dbase.dll
extension=php_gd2.dll
extension=php_imap.dll
extension=php_mbstring.dll
extension=php_mcrypt.dll
extension=php_mysql.dll
刚才修改extension_dir = "C:/php5/ext"就是为了使php能正确的找到这些模块。
接下来一点很重要的就是把C:/php5目录下的 libmysql.dll php5ts.dll php5apache2.dll libmcrypt.dll 和C:/php5/ext目录下的 php_mysql.dll php_mysqli.dll 复制到windows/system32下,如果不这样做,mysql动态连接库就无法正常加载。
不要把 php_mysql.dll 和 php_mssql.dll 混淆
如果没有加载 php_gd2.dll php将不能处理图像.没有加载php_mysql.dll
php将不支持mysql函数库
php_mbstring.dll在后面使用phpmyadmin时支持宽字符
接下来修改了一些文件上传以及内存使用最大限制:(改不改都行)
memory_limit = 20M
post_max_size = 20M
upload_max_filesize = 20M
3.Apache整合PHP
a.Apache中模块化安装php
在此行后加入一行
LoadModule php5_module C:/php5/php5apache2.dll
PHPIniDir "C:/php5"
也可以将C:/php5/php5apache2.dll的php5apache2.dll文件拷贝到c:/apache2/modules目录下,这样上面可改为:
LoadModule php5_module modules/php5apache2.dllPHPIniDir "C:/php5"
(其中C:/php5是你安装php的相应路径.注意不要把php5apache2_2.dll,php5apache2.dll和php5apache.dll混淆.php5apache.dll只适用于apache 版本1的.PHP5压缩包里的php5apache2.dll只适用于apache2.0.*版本,因为我的apache版本是2.0.55,所以我用的是php5apache2.dll,如果是2.2.*以上版本,必须使用php5apache2_2.dll.否则就可能会出现"Cannot load C:/php/php5apache2.dll into server: The specified module could not be found."或者:"The requested operation has failed"的情况.关于这个问题的解决方法可以参考
http://www.phpfans.net/bbs/viewt ... &extra=page%3D1不过php5apache2_2.dll出来之后也就没有多少参考价值了)
b .
查找 AddType application/x-gzip .gz .tgz
在此行后加入一行
AddType application/x-httpd-php .php
这样apache就可以解释php文件了
也可以再加上如下两行:
AddType application/x-httpd-php .html
AddType application/x-httpd-php .htm
这样apache就可以解释php文件了,就是说包含php代码的html、htm文件也可以被apache解析了。
到这里配置基本完成了
写一个test.php放到c:/apache2/www下测试一下,代码为:
看到正确的页面即是整合成功。如下:4. 安装mysql
(1) 点击MySQL安装包
(2) 默认是Typical,如果想修改安装路径的话也可以选择custom.
注意:安装mysql的路径中,不能含有中文!
(3)点击intall开始安装
(4)跳过注册
(5)是否现在就配置 MySQL.也可以之后在开始菜单的configuration wizard 进行配置.
这里是现在进行配置
(6) 选择Detailed Configuration(详细设置),点Next继续
(7)下面这个选项是选择mysql应用于何种类型,第一种是开发服务器,
将只用尽量少的内存,第二种是普通WEB服务器,将使用中等数量内存,
最后一种是这台服务器上面只运行MySQL数据库,将占用全部的内存.
用户可根据自己的需求,选择选项.这里只选择开发服务器,点Next继续
(9)下面是选择InnodDB的数据存放位置,一般默认好了,不需要改动
(如果要修改数据保存路径,也可用在安装后修改my.ini的datadir的值)
(10)下面是选择MySQL允许的最大连接数,第一种是最大20个连接并发数,
第二种是最大500个并发连接数,最后 一种是自定义,你可以根据自己的需要选择.
这里选择第一个
(11)下面是是否运行网络链接.这里选择复选框.数据库监听的端口,一般默认是3306,
如果改成其他端口,以后连接数据库的时候都要记住修改的端口,否则不能连接mysql数据库,
比较麻烦,这里不做修改,用mysq的默认端口:3306
(12)这一步设置mysql的默认编码,默认是latin1,也是标准的编码.第二种是UTF8,第三种是手动设置.编码是版本4.1以上引入的.如果要用原来数据库的数据,最好能确定原来数据库用的是什么编码,如果这里设置的编码和原来数据库数据的编码不一致,在使用的时候可能会出现乱码.
这个比较重要,就是对mysql默认数据库语言编码进行设置,第一个是西文编码,第二个是多字节的通用utf8编码,都不是我们通用的编码,这里选择第三个,然后在Character Set那里选择或填入“gbk”,当然也可以用“gb2312”,区别就是gbk的字库容量大,包括了gb2312的所有汉字,并且加上了繁体字、和其它乱七八糟的字——使用mysql的时候,在执行数据操作命令之前运行一次“SET NAMES GBK;”(运行一次就行了,GBK可以替换为其它值,视这里的设置而定),就可以正常的使用汉字(或其它文字)了,否则不能正常显示汉字。按 “Next”继续。
(13)这一步是是否要把mysql设置成windows的服务,一般选择设成服务,
这样以后就可以通过服务中启动和关闭mysql数据库了.推荐:下面的复选框也勾选上,
这样,在cmd模式下,不必非到mysql的bin目录下执行命令.在命令行下咨询可以执行文件
(14)这一步是设置mysql的超级用户密码,这个超级用户非常重要,
对mysql拥有全部的权限,请设置好并牢记超级用户的密码,
下面有个复选框是表示创建一个匿名账号,这会使数据库系统不安全.
如果有这个需求,也请勾选.
(15) 点击 Execute进行安装
(16) 点击finish完成安装
(17) 我们可以开始使用mysql了,首先启动mysql服务,然后在命令行下打:
输入密码出现这个界面说明mysql已经安装好了
可能出现的问题:
如果在第15步,出现下图提示
点击retry看看是否可以通过。否则点击 cancel 退出.然后点击开始菜单的 MySQL Server Instance
Config Wizard
重新配置 mysql
重复之前的操作.第14步将会出现界面是像下面这样
有三个输入密码的地方,你原来装过mysql.你在第一个文本框输入原来root的密码,后面两个文本框输入root的新密码就可以了
如果还是不行那就重装一次MySQL。
重装注意事项:最好删除原来的所有文件,必要的话,可以清一下注册表,
如果你机器上没有其它mysql相关的程序.而且一定记得不要保留原有的my.ini文件.
还有就是删除原来安装路径下的文件,并删除数据目录下面的ibdata1文件.
查找 extension_dir 有这么一行
extension_dir = "./"
将此行改成
extension_dir = "C:/php5/ext"
其中C:/php5是你安装php的路径.路径不正确将无法加载dll
(注意:有些php版本是 ;extension_dir = "./" 要把前面的分号去掉)
b. 分别查找
;extension=php_mbstring.dll
;extension=php_gd2.dll
;extension=php_mysql.dll
把上面3项前面的分号去掉,这样apache启动时就可以加载这些dll了
注意不要把 ;extension=php_mysql.dl 和 ;extension=php_mssql.dl
混淆
当然前面我们也把这些dll复制到system32下了.(大家在安装的过程中都注意到如何把一些dll加载入来了.
以后要加载一些dll,比如说php_mysqli.dll,也就懂得怎么加载了)
c. 设置会话保存路径
查找session.save_path 有这么一行
;session.save_path = "N;/path"
在此行后加入一行(注意是加入一行,不是加到后面)
session.save_path = "C:/WINDOWS/Temp"
保存到你的临时目录下,这里完全可以保存到windows临时目录Temp下
也可以新建c:/php5/session,然后将其改为:
session.save_path = "C:/php5/session"
d. 还有比较值得注意的是 short_open_tag .有一些php版本默认是Off的.
也就是说 php不能使用短标记如 <? ?> 必须使用<?php ?>
由于短标记使用方便,并且很多程序也是用短短标记来写,如discuz等
如果不把 short_open_tag 改成On将出现的症状将很难判断是上面原因,这里建议修改
查找
short_open_tag = Off
改为
short_open_tag = On
e. 是否显示错误 display_errors
出于安全性考虑,display_errors 有些版本也默认为 Off.
就是说在调试时,如果php代码有误,就只出现一个空白页.而不会显示出错原因和出错行数.
这样调试起来将非常不便,建议根据自己需要修改
查找
display_errors = Off(注意不是 ; - display_errors =Off[Security])
改成
display_errors = On
f. register_globals
出于安全性考虑它默认也是Off
当register_globals=Off的时候,下一个程序接收的时候应该用$_POST['user_name']和$_POST['user_pass'])
当register_globals=On的时候,下一个程序可以直接使用$user_name和$user_pass来接受值.
更详细的说明请参考
http://www.phpfans.net/bbs/archiver/?tid-234.htm
建议根据自己需要修改 .这里不建议修改,毕竟存在安全隐患.
g. php5时差问题
<?php echo date("Y-m-d H:i:s");?>时间相差八小时
为什么呢?PHP5系列版本新增了时区设置,默认为格林威治时间,与中国所在的东8区正好相差8个小时
查找date.timezone有这么一行
;date.timezone =
将;去掉,改成
date.timezone = PRC
其中PRC:People's Republic of China 中华人民共和国,
更详细解决方法请参考
http://www.phpfans.net/bbs/archiver/?tid-60.html
关于文件上传要注意的配置请参考
http://www.phpfans.net/bbs/viewthread.php?tid=1663&extra=page%3D1
对c:/WINDOWS下的php.ini修改好后,将其拷贝至php的安装目录既c:/php5中,将原来的php.ini覆盖掉才行,我也不知道为什么这么做,但若不这么做的话,运行下面的test_mysql.php时总是报一个如下的错:
Fatal error: Call to undefined function: mysql_connect()
有方家知道为什么这样做的话请发邮件告诉我 谢谢 please mail to : glq2000@126.com至此配置完毕,写一个文件test_mysql.php测试一下
首先应应建立一个数据库,开启mysql服务,打开命令行输入:
c:>mysql -u root -p
回车后出现:
password:
打入你的密码后回车,如下图所示:
然后打入
后回车,代表使用test数据库;
然后在mysql>后打入下面的建表语句后回车。建立一个employees表。
CREATE TABLE employees ( employee_id mediumint NOT NULL
AUTO_INCREMENT,
first varchar(20),
last varchar(20),
address varchar(20),
position varchar(20),primary key (employee_id));
然后插入一条记录:
mysql>insert into employees values(0,'耿','乐群','哈尔滨','学生'); |
回车后再插入一条数据:
mysql>insert into employees (first,last,address,position) values('tom','hax','USA','MOVIE STAR'); |
后回车,查看一下数据:
mysql>select * from employees; |
test_mysql.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
//这里替换为你自己的用户名与密码
//目的是正确显示中文,这就是前面安装mysql时编码方式选gbk的原因 $result = mysql_query("SELECT * FROM employees",$db);
printf("First Name: %s echo '<br/>';
printf("Last Name: %s
printf("Address: %s yy
printf("Position: %s
echo 'It is scuessful to connect to mysql database.
Congratulations!';
</body> |
Last Name: 乐群
Address: 哈尔滨
Position: 学生
It is scuessful to connect to mysql database. Congratulations!
则恭喜你!php已经能连上mysql,并且中文也能正确显示了!
6. 安装配置 phpMyAdmin
下载得到 phpMyAdmin(我下的是phpMyAdmin-2.11.2.2-all-languages.zip),将其解压到
你网站根目录下并重命名为phpMyAdmin,(假设我的站点根目录在e:/apache2/www目录下,则将解压出的phpMyAdmin放到e:/apache2/www
中即可)
找到并打开 libraries/config.default.php (有些版本是当前目录的 config.inc.php或者
config.defaut.php),打开后发现其前面的注释说不要修改此文件,修改config.inc.php会有同样的效果,截图如下:
由划红线处可知,建议不要修改此文件,要修改的就修改config.inc.php。config.inc.php在e:/apache2/www/phpMyAdmin下。打开config.inc.php
做以下修改:
1 查找 i++,在其下加上如下两行
$cfg['Servers'][$i]['user']
= 'root';
$cfg['Servers'][$i]['password'] = '';
//use your password here
把你的mysql密码填到$cfg['Servers'][$i]['password'] = ''; 的单引号里边
2 搜索 $cfg['PmaAbsoluteUri'],将其后面单引号里的值设置为 phpMyAdmin 目录路径,如:http://localhost/phpMyAdmin/ ; (如果你更改了apache的端口为8080,则此处应写:http://localhost:8080/phpMyAdmin)
3 搜索 $cfg['DefaultLang'],将其后面单引号里的值设置为 zh-gb2312 ;
若搜不到的话,就自己手动加上这一行。
下面这项根据自己需要的编码修改(如果对数据库编码不是很熟悉的建议不要修改)
4 搜索 $cfg['DefaultCharset'],将其设置为 自己所要的编码.
打开浏览器,输入:http://localhost/phpMyAdmin/,Apache 和
MySQL 均已启动,
如果出现如下页面则phpmyadmin安装完成并可以使用了
恭喜你! 至此本文结束!希望对你有所帮助!
声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。