[转帖]转自http://www.openphp.cn |
原文:http://blog.csdn.net/countstars/archive/2004/07/17/43927.aspx
Windows 环境下的 PHP5 与 Apache 服务器的配置
作者:深空。主页:http://www.openphp.cn
下面文章内容将讲述 Windows2000/XP/2003(不建议在 windows 98 下建立 PHP 环境) 下 PHP 环境的配置,服务器选择 Apache 2.0.49,数据库选择 MySQL 4.0.20 版本。
需要下载几个软件包:
1. PHP5 RC3
2. Apache 2.0.49
3. MySQL 4.0.20
下载软件包:
1. PHP5 RC3
PHP 的下载地址为: http://www.php.net/downloads.php ,找到如下图位置,下载方框中的两个软件包。其中 PHP 5.0.0RC3 zip package 就是 PHP5 软件包,而 Collection of PECL modules for PHP 5.0.0RC3 则是 PHP5 的 PECL 扩展模块集合包。
下载完成后放于 C 盘备用。
2. Apache 2.0.49
Apache 官方下载地址为: http://httpd.apache.org/download.cgi ,找到如下图位置,下载 For Windows 的 MSI 安装包,保存于 C 盘备用。
3. MySQL 4.0.20
MySQL 官方下载地址为: http://dev.mysql.com/downloads/mysql/4.0.html ,找到 Windows downloads 部分,下载 Without installer 包并保存于 C 盘,如下图所示:
安装 PHP5:
假设你的系统安装于 C 盘,否则下列目录均须改成相应的盘的目录。
将下载来的 PHP5 RC3(php-5.0.0RC3-Win32.zip) 解压缩到 C:\PHP5\ 目录下。将 PECL 扩展模块集合包里的所有文件解压缩到 C:\PHP5\ext\ 目录下。
复制 C:\PHP5\ 目录下的 php5ts.dll 文件到 C:\windows\(如果是 windows 2000 操作系统,则为 C:\WINNT\ 目录,下同,不再重复说明) 目录下。
复制 C:\PHP5\ 目录下的下列 dll 文件于 C:\windows\system32\ 目录下:
CODE
fdftk.dll
fribidi.dll
gds32.dll
libeay32.dll
libintl-1.dll
libmhash.dll
libmysql.dll
libmysqli.dll
ntwdblib.dll
ntwdblib.dll
yaz.dll
其中 libmysql.dll 为 MySQL 4.1 之前版本的扩展支持,libmysqli.dll 为 MySQL 4.1 之后版本的扩展支持。因为我上面下载的是 MySQL 4.0.20 ,所以其实复制 libmysql.dll 即可。
复制 C:\PHP5\ 目录下的 php.ini-dist 文件到 C:\windows\ 目录下,并改名为 php.ini ,并用记事本打开编辑:
定位到下面两行:
CODE
; Directory in which the loadable extensions (modules) reside.
extension_dir = "./"
修改下面一行使它指向 C:\PHP5\ext\ 目录,修改后如下:
CODE
; Directory in which the loadable extensions (modules) reside.
extension_dir = "C:\PHP5\ext\"
定位到下面两行:
CODE
;Windows Extensions
;Note that ODBC support is built in, so no dll is needed for it.
可以看到下面列出了所有可支持扩展,我们可以去掉前面的分号来使 PHP 支持相应的扩展。我测试了下,支持下列扩展,也可以根据选择是否配置。
CODE
extension=php_bz2.dll
extension=php_cpdf.dll
extension=php_curl.dll
extension=php_dba.dll
;extension=php_dbase.dll
extension=php_dbx.dll
;extension=php_exif.dll
extension=php_fdf.dll
extension=php_filepro.dll
extension=php_gd2.dll
extension=php_gettext.dll
;extension=php_iconv.dll
;extension=php_ifx.dll
extension=php_iisfunc.dll
extension=php_imap.dll
;extension=php_interbase.dll
extension=php_ldap.dll
extension=php_mbstring.dll
;extension=php_mcrypt.dll
extension=php_mhash.dll
extension=php_mime_magic.dll
extension=php_ming.dll
;extension=php_mssql.dll
;extension=php_msql.dll
extension=php_mysql.dll
;extension=php_oci8.dll
extension=php_openssl.dll
;extension=php_oracle.dll
extension=php_pdf.dll
;extension=php_pgsql.dll
extension=php_shmop.dll
extension=php_snmp.dll
extension=php_sockets.dll
;extension=php_sybase_ct.dll
extension=php_tidy.dll
;extension=php_w32api.dll
extension=php_xmlrpc.dll
extension=php_xsl.dll
;extension=php_yaz.dll
extension=php_zip.dll
保存文件退出并退出。
安装 Apache 2.0.49
准备好下载下来的 apache_2.x.x-win32-x86-no_ssl.msi 。双击后开始安装。一步 Next 下来,同意许可协议后会有填写服务器信息的页面,本地调试,前面两个输入 localhost 即可。如下:
一路 Next 下来,均按照默认路径安装――当然你也可以选择你自己需要的路径。Apache 会自动安装并启动相关服务。并在任务栏右下角运行着一个 Apache 监控器:
我们可以从这个监控器来重起、停止、启动 Apache 服务。双击小图标打开控制界面:
接下来对 Apache 的配置文件进行配置,用记事本打开 C:\Program Files\Apache Group\Apache2\conf\ (我这里是按照默认安装路径安装,后面的设置按照自己的安装路径做相应的改变) 目录下的 httpd.conf 文件,定位到下面这行:
CODE
DirectoryIndex index.html index.html.var
在其后面添加一个 PHP 默认页,通常是 index.php ,如下:
CODE
DirectoryIndex index.html index.html.var index.php
为了使 Apache 识别 PHP 的相关扩展名,搜索并定位到下面这个部分:
CODE
<Directory "C:/Program Files/Apache Group/Apache2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
在后面添加如下两行:
CODE
AddType application/x-httpd-php .php .phtml .php3 .php4
AddType application/x-httpd-php-source .phps
指定 php 模块,找到并定位到如下这行:
CODE
#LoadModule ssl_module modules/mod_ssl.so
在下面添加一行:
CODE
LoadModule php5_module c:\php5\php5apache2.dll
使它指向 PHP5 目录下的 php5apache2.dll 文件,路径一定要准确。
为了指定 Apache 识别中文,我们指定 GB2312 为默认编码。应该找到并定位到下面这行
CODE
AddDefaultCharset ISO-8859-1
将其修改为:
CODE
AddDefaultCharset GB2312
另外,如果要禁止目录浏览,查找并定位到下面这几行:
CODE
#……
#一些注释
#……
Options Indexes FollowSymLinks
去掉几行注释下面进跟着的一行的 Indexes 即可,修改后:
CODE
#……
#一些注释
#……
Options FollowSymLinks
OK,保存 httpd.conf 文件后重起 Apache 服务器。
MySQL 4.0.20 的安装
将 mysql-4.0.20-win-noinstall.zip 文件夹压缩到 C 盘根目录下(注意:使用该版本 MySQL 必须将解压缩后文件夹放于 C 盘根目录下),解压缩后可以在 C 盘根目录下找到名为 mysql-x.x.x 的文件夹。将其改名为 mysql 。
进入 bin 目录,找到 winmysqladmin.exe 文件,打开它。第一次运行会提示输入一个新的用户名和密码。这里可以随意选择你需要的用户名和密码输入,作为 my.ini 的默认用户名和密码。如下图:
点击 OK 确定后,WinMySQLadmin 将缩小到右下角的任务栏里:
我们来看看 MySQL 服务是否启动。打开“控制面板”,进入后打开“管理工具”,再打开“服务”。如果一切顺利的话我们会看到 MySQL 已启动的信息,如下图:
到这里 MySQL 的安装告一段落,非常简单。
测试 PHP 是否配置成功:
打开记事本,输入如下这行代码:
CODE
保存为 phpinfo.php 文件,存放于 Apache2\htdocs\ 目录下,记得保存的时候选择保存类型为“所有文件”,如下图:
好了,打开浏览器,在地址栏中输入: http://localhost/phpinfo.php 并回车,如果一切顺利的话你将看到下面这个页面,到此 PHP5 的配置大功告成:
注:本文未从安全性和性能上来讨论服务器的配置,相应的安全配置请参考其他手册,本文仅简单介绍了 PHP5 环境的配置,作为学习 PHP5 的前提,本文并不能作为服务器配置文章来阅读,比如,这里没有设置 MySQL 的 root 用户密码,将导致很大的安全隐患,所以请读者自行设置。
(全文完) 深空于甲申年端午节早
作者:深空。主页:http://www.openphp.cn
版权声明:CSDN是本Blog托管服务提供商。如本文牵涉版权问题,CSDN不承担相关责任,请版权拥有者直接与文章作者联系解决。
发表于 2004年07月17日 5:20 PM
评论
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-07-19 8:48 PM 月光蒙面侠
你的文章写得很好呀,我一直很郁闷应该怎么配置PHP学习环境呢,今天在无意中在网上发现了你,看了你写的文章之后,把我从黑暗中带出来了,阳光又照在我的脸上,我按你写的步骤方法,已经配置好我的Apache+Php+Mysql环境了,下一步准备开始学习PHP编程,希望以后能和你多交流。
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-07-27 3:29 PM dasd
adas
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-07-27 4:22 PM ert
wtw
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-07-27 6:32 PM TomRen++
写得好!
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-08-01 1:45 PM icelover
你好,我按照你的步骤配置了php5(不过是php5正式版)
有几个地方请教一下
(1)php5目录下面没有libintl-1.dll这个文件,不知道是不是正式版中删除了这个dll
(2)在设置php相应扩展时,我按照你写的dll文件去掉了分号,而且php5的ext目录下面我看了都有这些dll文件,extension_dir也是设置的正确的,但是在启动Apache服务器时,跳出很多warning窗口,说不能加载相应的dll文件,找不到制定的模块,请问这是什么原因(但是后面的phpinfo可以运行,应该其他的路径方面设置没有问题啊)
谢谢
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-08-01 2:36 PM 深空
ext文件夹下的那些只是PHP所能支持的扩展而已,这些扩展可能调用一些公共库,比如php_mysql.dll这个扩展可能调用libmysql.dll这个MySQL客户端库,所以需要将libmysql.dll这个文件复制到system32下,让扩展来调用这个库。(多谢昨天一个朋友的解答)
所以,有些扩展还需要一些库,你就得去找那些dll库了,所需的库在PHP手册的windows 安装那个部分有个列表,一看就知道。
如果找不到,直接在php.ini中将相应行注释掉就可以了,然后重起服务器
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-08-01 6:32 PM woaifanyun
写的太好了!
折磨了我一个星期的问题,终于解决了!
深空以后多写一些文章,让我们好好学习啊!
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-08-16 3:48 PM 迷途小羔羊
真是痛哭流涕
我要是早点看到这编文章就不用费几天了
老大,崇拜你啊!
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-08-28 10:17 AM rtqq
為什麼我註釋掉這句LoadModule php5_module c:\php5\php5apache2.dll
我的apache就可以启动,不然就提示1067错误,进程意外中止
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-09-12 3:07 AM 攀岩
感谢站长的大作
出现了phpinfo报告的画面
激动阿!
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-09-12 4:16 PM hao
我按照上面的搞得,但是不行,好像少了个改php.ini步骤,是不是阿??
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-09-14 5:21 PM 奇怪
为什么我下的PHP中没有ntwdblib.dll ,ntwdblib.dll这两个文件呢/
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-09-14 6:12 PM 深空
没有没关系,找样做就是了,没有就不要
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-09-15 1:43 PM 再问
那我配置APACHE的时候,刚开始能成功,为什么关闭后,再START,或RESTART就会提示出错,说访问不到好几个DLL文件。。。。
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-09-15 2:37 PM 深空
晕,死脑筋,访问不到就进入php.ini把相应的行用分号;注释掉,那些只是扩展,不一定要加载的,不加载就注释掉,或者没有也注释掉,不然肯定有警告的
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-09-15 4:34 PM 吐了
可是APACHE和MYSQL工作都正常了。最后页面还是没出来。。我的PHP文件配置也很仔细的啊。。。。
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-09-18 11:03 PM tod204
不错....
帮了大家一个忙...
我配置的时候可搞了一天多的时间才出来的.
那时候没有看到你的文章,不然就不要这样摸索了.
郁闷.....
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-09-20 10:00 PM hh
thank godness,u ar so kind.
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-09-30 12:37 PM fort
谢谢!
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-10-03 1:03 AM tonical
终于可以了
昨天看附带的install看了一天搞不定
还是网上资讯多
图文解释就是好啊
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-10-07 9:31 AM 忘
不行啊,最后没有出现那个phpinfo.php的介面没有出现啊,还有装服务器的时候安装服务器里最后那个框里根本没有Apach2,系统提示找不到支持文件是怎么回事啊
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-10-07 4:20 PM SK
Parse error: syntax error, unexpected T_STRING in C:\Apache\Apache2\htdocs\phpinfo.php on line 1
出现这样的问题...是那个配置错误了...
还有..怎样..打不开phpinfo.php..而变成了下载文件...是什么原因噶.....
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-10-07 5:21 PM 深空
楼上的已经配置成功了吧既然有这个错误提示。
另外请大家仔细看文章,不要总是自以为是,配置文件乱修改。
更多到我的网站讨论:
http://www.openphp.cn
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-10-20 5:22 PM 李松谣
真的很感谢你们的讨论,在我经过3天的学习和研究之后,我终于把我的APACHE+PHP配置好了,谢谢你们提供的资料!
我想把mySQL变成SQL2000,有应该怎么修改配置呢? 如果我想改变存放WEB页面的文件路径,我又应该怎么修改配置呢?
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-11-01 7:42 PM 孔德华
要是用mysql 5.0 和你的配置方法一样可以用么?
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-11-08 9:15 AM HellGuy
请问配置好PHP后,为什么表单传送的变量PHP文件不能正确接收呢?老是说变量$XXX未定义.
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-11-17 11:23 AM 冰雨
测试时为什么出现下载页面?
谢谢!!
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-11-18 4:27 PM jerry
请问我配置好了,出来的页面上只有 “<?php phpinfo():?>”
这几个字符,没有出现那个页面啊?
2、这两句AddType application/x-httpd-php .php .phtml .php3 .php4
AddType application/x-httpd-php-source .phps
加在</Directory>上面还是下面,还是替换啊?
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-11-18 5:03 PM 桔子香水
我已经成功的配置好了php测试环境,也出现了<?php phpinfo();>的测试页面,但是我在网上下载了一个php整站程序,输入localhost/caoyang/index.php以后出现了
Warning: mysql_pconnect() [function.mysql-pconnect]: Access denied for user: 'stone@localhost' (Using password: YES) in C:\Program Files\Apache Group\Apache2\htdocs\caoyang1\class\mysql.inc.php on line 61
mysql error:
1045:Access denied for user: 'stone@localhost' (Using password: YES)
错误,不知道是怎么回事啊,请指教,谢谢,急急急
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-11-19 8:38 PM 李松谣
谢谢斑竹!我现在能独立完成PHP+APACHE的配置了,
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-11-22 9:59 PM 深空fans
感谢深空!我调试成功了
apache_2.0.52
php-5.0.2
mysql-4.0.22
os: win2000pro
友情提示:
1/
安装apache时候要关掉IIS,如果你装了IIS的话
2/
AddType application/x-httpd-php .php .phtml .php3 .php4
AddType application/x-httpd-php-source .phps
加在<Directory……>……</Directory>之外
3/
运行页面的时候要忘了启动apache亚
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-11-23 12:19 PM 李松谣
请问朋友们:
我帮朋友配置了一个APACHE+PHP+MYSQL服务器,调试都没有问题!
但是!!!:有一个麻烦-------
别人不能用我的IP访问这个服务器,好象APACHE提示什么“无法打开80端口”!
真的很恼火,找了半天原因,就是搞不明白,所以,希望朋友们帮个忙!谢谢!
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-11-23 12:24 PM 李松谣
补充一点:我能用IP或者http://localhost自己访问本地服务器!
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-11-27 3:19 AM 李松谣
请问:
我想用Microsoft Server SQL2000代替MYSQL,但是,好象PHP函数要相应修改成 mssql_*_* 这是怎么回事?
还有,好象还有下载相应的模块才能支持Microsoft Server SQL2000 .我能在哪里下载这样的模块?
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-12-04 1:05 AM 李松谣
我配制的APACHE服务器
但我用PHP写mysql-fetch-row($x)时,总是提示:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in E:\www_webs\php_sql\index.php on line 6
这到底是怎么回事?
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-12-08 1:23 AM 小易
你好,我按照你的配置搞好了的时候,输入http://localhost/phpinfo.php 这个时切出现下载的页面,能帮帮忙吗?
急,谢谢
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2004-12-29 9:43 AM 我是豆豆
感谢老大!基本上搞定了!希望以后多发表点教程和经验谈!
# 回复:Windows 环境下的 PHP5 与 Apache 服务器的配置 2005-01-08 4:59 PM 帮帮忙
入http://localhost/phpinfo.php
出现找不到網頁
按照你的保存为phpinfo.php 文件,存放于 Apache2\htdocs\ 目录下
error log 出现
[error] [client 127.0.0.1] File does not exist: C:/Program Files/Apache Group/Apache2/htdocs/phpinfo.php |
|
|