Win2000+Apache+MySql+PHP4+PERL安装使用小结


Posted in PHP onOctober 09, 2006

Windows 2000+Apache+MySql+PHP3+PHP4+PERL安装使用小结
www。1000script.com 2002-9-3 1000script专业脚本
Windows 2000+Apache+MySql+PHP3+PHP4+PERL安装使用小结(一)

这里一定有许多和我一样喜欢尝试新鲜事物的朋友,尤其是当听说
某某软件有了新的版本时一定也会迫不及待的去下载一份回来用用再说。
这里我想和大家探讨一下以下流行软件的应用,意在抛砖引玉。

OS : Microsoft Windows 2000 Professional简体中文版
WEB SERVER: Apache 1.3.12 for WIN32
MYSQL : MySQL Shareware 3.22.34 for WIN32
PHP3 : PHP 3.0.15 for WIN32
PHP4 : PHP 4.0.0 for WIN32
ZEND : Zend Optimizer beta4 for PHP 4.0.0 for WIN32

【★★★ Apache快速安装 ★★★】

1. 运行 apache_1_3_12_win32.exe ,按照提示安装,安装目录不妨为:

c:\apache
2. 修改 c:\apache\httpd.conf,去掉ServerName前的“#”号,后面

跟本机的IP地址
3. 运行 c:\apache\apache -i 将Apache安装成为Windows 2000的一个服务
4. 运行 net start apache 启动Apache
5. 将 c:\apache\htdocs\index.html.en 改名为 index.html ,然后

在浏览器地址栏中输入: http://localhost

【★★★ MySql快速安装 ★★★】

1. 将 mysql-shareware-3.22.34-win.zip 解压缩到一个临时目录下,

然后运行 setup.exe 开始安装,一切用默认值安装即可
2. 运行 c:\mysql\bin\mysqld-shareware --install

将mysql安装成Windows 2000的一个服务
3. 运行 net start mysql

启动mysql服务即可

【★★★ PHP3快速安装 ★★★】

1. 将 php-3.0.15-win32.zip 解压缩到一个目录下,例如

c:\apache\php3
2. 将 c:\apache\php3\php3.ini-dist 拷贝到 c:\winnt 目录下,

并改名为 php3.ini
3. 修改 c:\apache\conf\srm.conf,加入如下几行:
ScriptAlias /php3/ "c:/apache/php3/"
Addtype application/x-httpd-php3 .php3
Action application/x-httpd-php3 "/php3/php.exe"
4. 重新启动Apache (net stop apache, net start apache)

PHP3就可以运行了,创建一个文件 c:\apache\htdocs\info.php3 ,

内容只有一行:


然后在浏览器地址栏中输入:http://localhost/info.php3
5. 为了加入对MySql的支持,需要编辑 c:\winnt\php3.ini ,

找到extension_dir,将该行改为:
extension_dir = "c:\apache\php3\"

再找到
;extension=php3_mysql.dll

去掉前面的分号即可

【★★★ PHP4快速安装 ★★★】

1. 将 php-4.0.0-Win32.zip 解压缩到一个目录下,例如

c:\apache\php
2. 将 c:\apache\php\php.ini-dist 拷贝到 c:\winnt 目录下,

并改名为 php.ini
3. 将 c:\apache\php\php4ts.dll 拷贝到 c:\winnt\system32 目录下
4. 修改 c:\apache\conf\srm.conf ,加入如下几行:
ScriptAlias /php/ "c:/apache/php/"
Addtype application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe"
5. 重新启动Apache (net stop apache, net start apache)

PHP4就可以运行了,创建一个文件 c:\apache\htdocs\info.php ,

内容只有一行:


然后在浏览器地址栏中输入:http://localhost/info.php

PHP4内置对MySql的支持,不需要额外设置

【★★★ Zend Optimizer for PHP4快速安装 ★★★】

1. 将 ZendOptimizer-Beta4-WindowsNT.zip 解压缩到一个目录下,

例如 c:\apache\zend
2. 修改 c:\winnt\php.ini ,在任何地方加入如下两行:
zend_optimizer.optimization_level=7
zend_extension_ts="c:\apache\zend\ZendOptimizer.dll"
3. 在浏览器中刷新info.php,可以看到多了这么一行:

with Zend Optimizer v0.98, Copyright (c) 1998-2000, by Zend Techno
logies

【★★★ Active Perl快速安装 ★★★】

1. 鼠标双击 ActivePerl-5.6.0.613.msi 运行之,这是一个Windows

Installer Packge格式的安装包,在Windows 2000下可以直接

运行,按照提示安装,默认的安装路径是 c:\perl ,不妨改成

c:\usr
2. 修改 c:\apache\srm.conf ,加入如下一行:
AddHandler cgi-script .pl
3. 在PERL程序的第一行加上:
#!/usr/bin/perl
4. 为了让Apache也能够识别*.cgi程序,在 srm.conf 中加入:
AddHandler cgi-script .cgi

这样一来本地的PERL CGI程序就可以和UNIX主机上的完全保持一致了

为了让Apache能够处理Server Side Include,在 srm.conf 中加入:
AddType text/html .shtml
AddHandler server-parsed .shtml

这样CGI程序就可以以SSI的方式运行了
5. 为了让以上修改生效,需要重新启动Apache (net stop apache, net start
apache)

完全按照以上步骤进行,就会在不出错的情况下拥有了
Apache+MySql+PHP3+PHP4+PERL的运行环境了!事实上,
以上方法在Windos NT4.0+SP3+中一样可行。

【☆☆☆ Apache概要说明 ☆☆☆】

Apache的默认安装目录是c:\program files\apache group\apache,
不过为了方便起见,不妨将它安装到c:\apache目录下。配置文件是
c:\apache\conf\httpd.conf,通常至少需要修改的是ServerName这
一项,把注释符号“#”去掉,最简单是后面跟IP地址,对于有WINS
的局域网用户可以用机器名,对于有DNS的网络用户可以用域名。在
Windows 2000下没有设置ServerName这一项会造成Apache不能启动。
还有一个影响是当用如下方式使用Alias时:
Alias /userdir "c:/userdir/"
假如这样调用:
http://localhost/userdir/
不会产生任何问题,可是如果这样调用:
http://localhost/userdir
那么localhost会被替换成ServerName所指定的值,如果这个值不能
被正确解析,就无法访问。
用户的配置项目添加在httpd.conf或者srm.conf中都可以,一说是将
所有的配置项目都放在httpd.conf中,这样只需要修改维护这一个
配置文件,比较方便,而且避免了冲突(这是srm.conf文件中说的!)。
可是httpd.conf确实太大了,要在里面搜索特定的项目就不很容易。
还有一说是将所有的用户自己添加修改的配置项目都放在srm.conf中,
这个文件很小,便于察看修改,本人倾向于后者。
在httpd.conf中,Apache的其它常用的可能需要修改的设置有:
ServerAdmin your@email.address #管理员的e-mail地址

DocumentRoot "c:/apache/htdocs" #默认的根路径
注意路径全都是用斜线而不是反斜线来分隔

DirectoryIndex index.html index.php index.php3 index.htm index.shtml
这一项指明了在每个目录中的默认文档及其顺序

AccessFileName .htaccess #目录访问的配置文件名
用资源管理器会发现无法将一个文件改名成“.htaccess”,不过
在命令行方式下可以,用notepad也可以另存为这个文件名。

【☆☆☆ MySql概要说明 ☆☆☆】
MySql的默认安装目录是c:\mysql,安装结束后没有任何提示信息说安装结束,请点Finish按钮之类的话,直接就退出了。如果需要安装到其他目录,建议先安装到c:\mysql,然后再整个目录move到自己希望的地方,例如移动到d:\mysql 之后,需要编辑 d:\mysql\my-example.cnf (*.cnf的文件在Windows 2000中会被注册成为 SpeedDial文件,在资源管理器中无法操作,要用命令行来启动notepad编辑,例如运行notepadd:\mysql\my-example.cnf ,但是这个文件是UNIX系统下的文本文件格式,在notepad中不能正确换行,可以用write打开编辑,
或者用write打开后保存一次,再用notepad就可以编辑了。)找到basedir一行,去掉前面的“#”号注释,将后面的路径改为移动后的目录(目录分隔符要用斜线而不是反斜线),然后另存为:c:\my.cnf
用服务方式启动的MySql如果用 net stop mysql 来停止,会得到一条 出错消息,例如:

C:\>net stop mysql

MySql 服务正在停止.

系统出错。

系统发生 1067 错误。

进程意外终止。

MySql 服务已成功停止。
这没有关系,MySql确实已经停止了。但是假如不希望看到任何出错消息
的话,可以用以下的命令来停止:

C:\>mysql\bin\mysqladmin -u root shutdown
如果没有任何提示信息,说明MySql已经成功停止了。
需要说明的是MySql虽然号称安装简单,易于使用,但是这毕竟是基于SQL的数据库管理系统,所以如果不是对SQL十分精通的话恐怕也不能拿它来做什么。网上有许多管理MySql的工具,例如基于PHP3的有phpMyAdmin,MAP,基于Windows的有MySqlWinAdmin,myAdmin等。由于PHP3与PHP4的MySql功能颇多不兼容之处,所以我建议在Apache中同时安装PHP3与PHP4。这两个小程序可以在这里下载:
http://www.nease.net/~yzwang/php/
都只有几十K,而且phpMyAdmin中还包含有简体中文的提示,将 phpMyAdmin_2.0.5.zip 带目录名解压缩到 c:\apache\htdocs目录下,或者其他设定了Alias的目录下,然后编辑文件:c:\apache\htdocs\phpMyadmin\config.inc.php3 在里面找到:
require("english.inc.php3");
一行,将它替换成:require("chinese_gb.inc.php3");
然后保存。在启动它之前还有一件必须要做的事就是编辑 c:\winnt\php3.ini ,
在里面找到 include_path 一行,将它修改为:

include_path = "c:\apache\htdocs\phpmyadmin"
保存后在浏览器地址栏中输入:

http://localhost/phpmyadmin/index.php3
看到没有?它说——〉“欢迎使用 phpMyAdmin 2.0.5” !

【☆☆☆ PHP3概要说明 ☆☆☆】

PHP3似乎没有什么其它需要特殊设定的东西,唯一需要修改的文件就是 php3.in

i 。
上面已经提到要修改的两个部分:

include_path = "c:\apache\htdocs\phpmyadmin;c:\apache\htdocs"

凡是在PHP3中使用了 include 或者 require ,所要包含的文件必须在
include_path 所设定的路径之一,好在修改了php3.ini后会立即生效,
不需要重新启动apache。

extension_dir = "c:\program files\apache\php3\"
这一项也是必需的,否则无法加载扩展模块。
php3.ini中的内容是区分大小写的!不过Windows的路径名大小写没有关系。

【☆☆☆ PHP4概要说明 ☆☆☆】

PHP4与PHP3颇多不同之处,php.ini的大小就比php3.ini大了几乎一倍。
所要修改的项目与php3.ini中的两项一样,include_path 与 extension_dir 。

不过由于内置了MySql的支持,如果只用MySql的话,那么连 extension_dir
也不用修改,保持默认值即可。PHP4提供了两个php.ini的版本可用选择:
php.ini-dist
php.ini-optimized
如果使用 php.ini-dist 的话,那么在使用上没什么问题。可是也许有
好事之徒如我,用了 php.ini-optimized ,那么会遇到重大问题。
大家知道,PHP对于表单的处理极为方便,对于使用了 post 方法的表单,
PHP会自动根据表单的 name 生成同名的变量,几乎所有的PHP程序都是
这样使用自动生成的表单变量的,然而如果将 php.ini-optimized 拷贝
到 c:\winnt 目录下并改名为 php.ini 的话,将没有自动表单变量生成!
仔细看看 php.ini-optimized ,有这么一段:

register_globals = Off

; Whether or not to register the EGP

CS variables as global

 ; variables. You may want to turn t

his off if you don't want

 ; to clutter your scripts' global sc

ope with user data. This makes

 ; most sense when coupled with track

_vars - in which case you can

 ; access all of the GPC variables th

rough the $HTTP_*_VARS[],

 ; variables.
为了能够正确运行其他人写的PHP范例程序,建议还是改成:

register_globals = On

其实我使用PHP的经验还不是很多,但是仍然注意到以下几个问题:
1. 在需要包含另外一个文件时可以用 include ,也可以用 require 。

但是要求在 php.ini 中有路径设定。假如包含文件的目的仅仅是为了

在浏览器中显示输出的话,可以用

readfile("filename");

而且参数还可以是 http 或者 ftp 的 URL 。
2. 要获取本文件的文件名,许多人用 $PHP_SELF ,可是我觉得用

getenv("PATH_INFO");

更好。使用的场景例如:

">
3. 要读入整个文件,简单地使用:

$contents=file("filename");

就可以了,$contents 会成为一个 array 变量,文件的每一行会成为

$contents 中的每一项。阵列下标从 0 到 count($contents) 。
【☆☆☆ Zend Optimizer for PHP4概要说明 ☆☆☆】
该软件也可以从以下地址下载,只有41K:
http://www.nease.net/~yzwang/php/
需要注意的就是这个版本是
Zend Optimizer Beta4 for PHP4.0.0 for WindowsNT,版本号是0.98。
只能用在上述的 PHP4.0.0 for WIN32 这个版本上。
【☆☆☆ Active Perl概要说明 ☆☆☆】
Active State的ActivePerl 5.6是目前最流行的最新版本的PERL解释器,不明白为什么要8174K这么大? 几乎是Apache和MySql加起来的大小。不过这是完全版本的PERL,包含有PERL5的各个模块。之所以建议安装到c:\usr 目录下,是由于这样一来PERL的CGI程序就可以用和在UNIX下一样的SHABANG行了:
#!/usr/bin/perl
当然,按照Windows格式用也可以:
#!c:\usr\bin\perl.exe
这样在自己的机器上调试好的PERL程序不用修改就可以上传到UNIX主机上去使用,方便很多。关于PERL的编程问题不在本文讨论的范围之内。
本文旨在抛砖引玉,希望和各地的朋友交流。也希望大家把在使用PHP及其相关环境中的心得写出来与网友们共享,共同进步。

原作者:1000script
来 源:1000script.com

PHP 相关文章推荐
PHP 程序员也要学会使用“异常”
Jun 16 PHP
PHP操作XML作为数据库的类
Dec 19 PHP
DISCUZ在win2003环境下 Unable to access ./include/common.inc.php in... 的问题终极解决方案
Nov 21 PHP
php第一次无法获取cookie问题处理
Dec 15 PHP
如何通过Linux命令行使用和运行PHP脚本
Jul 29 PHP
PHP创建PowerPoint2007文档的方法
Dec 10 PHP
PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面
Mar 21 PHP
浅谈php中的循环while、do...while、for、foreach四种循环
Nov 05 PHP
PHP curl 或 file_get_contents 获取需要授权页面的方法
May 05 PHP
php生出随机字符串
Jul 06 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
Aug 04 PHP
PHP模糊查询技术实例分析【附源码下载】
Mar 07 PHP
用PHP将数据导入到Foxmail
Oct 09 #PHP
PHP 中的一些经验积累
Oct 09 #PHP
详细介绍PHP应用提速面面观
Oct 09 #PHP
基于PHP与XML的PDF文档生成技术
Oct 09 #PHP
利用js调用后台php进行数据处理原码
Oct 09 #PHP
PHP初学者头疼问题总结
Oct 09 #PHP
php代码优化及php相关问题总结
Oct 09 #PHP
You might like
PHP实现检测客户端是否使用代理服务器及其匿名级别
2015/01/07 PHP
PHP MVC框架skymvc支持多文件上传
2016/05/26 PHP
PHP微信开发之微信录音临时转永久存储
2018/01/26 PHP
jQuery 无刷新分页实例代码
2013/11/12 Javascript
jQuery Form 页面表单提交的小例子
2013/11/15 Javascript
window.close(); 关闭浏览器窗口js代码的总结介绍
2016/07/14 Javascript
Jquery 整理元素选取、常用方法一览表
2016/11/26 Javascript
微信小程序 Canvas增强组件实例详解及源码分享
2017/01/04 Javascript
值得收藏的vuejs安装教程
2017/11/21 Javascript
区别JavaScript函数声明与变量声明
2018/09/12 Javascript
JS使用canvas中的measureText方法测量字体宽度示例
2019/02/02 Javascript
详解vue使用插槽分发内容slot的用法
2019/03/28 Javascript
JS学习笔记之贪吃蛇小游戏demo实例详解
2019/05/29 Javascript
JavaScript判断浏览器运行环境的详细方法
2019/06/30 Javascript
layui文件上传控件带更改后数据传值的方法
2019/09/23 Javascript
Vue+Vuex实现自动登录的知识点详解
2020/03/04 Javascript
vue或react项目生产环境去掉console.log的操作
2020/09/02 Javascript
解决vue打包报错Unexpected token: punc的问题
2020/10/24 Javascript
[04:49]2014DOTA2国际邀请赛 Newbee顺利挺进总决赛 ImbaTV独家专访
2014/07/19 DOTA
Python获取脚本所在目录的正确方法
2014/04/15 Python
Python实现动态加载模块、类、函数的方法分析
2017/07/18 Python
Python基于回溯法子集树模板实现8皇后问题
2017/09/01 Python
python实现ID3决策树算法
2017/12/20 Python
python使用pil库实现图片合成实例代码
2018/01/20 Python
PyCharm代码整体缩进,反向缩进的方法
2018/06/25 Python
Django中的forms组件实例详解
2018/11/08 Python
python实时检测键盘输入函数的示例
2019/07/17 Python
Django--权限Permissions的例子
2019/08/28 Python
CSS3 开发工具收集
2010/04/17 HTML / CSS
CSS3之边框多颜色Border-color属性使用示例
2013/10/11 HTML / CSS
HTML5上传文件显示进度的实现代码
2012/08/30 HTML / CSS
世界上最大的各式箱包网络零售店:eBag
2016/07/21 全球购物
GAP阿联酋官网:GAP UAE
2017/11/30 全球购物
音乐教学随笔感言
2014/02/19 职场文书
职工代表大会主持词
2014/04/01 职场文书
范文之农村基层党建工作报告
2019/10/24 职场文书