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 相关文章推荐
介绍几个array库的新函数 php
Dec 29 PHP
php学习之数据类型之间的转换代码
May 29 PHP
深入PHP变量存储的详解
Jun 13 PHP
PHP实现对文本数据库的常用操作方法实例演示
Jul 04 PHP
PHP 只允许指定IP访问(允许*号通配符过滤IP)
Jul 08 PHP
php json_encode()函数返回json数据实例代码
Oct 10 PHP
php中字符集转换iconv函数使用总结
Oct 11 PHP
如何使用Gitblog和Markdown建自己的博客
Jul 31 PHP
PHP十六进制颜色随机生成器功能示例
Jul 24 PHP
PHP二维关联数组的遍历方式(实例讲解)
Oct 18 PHP
PHP使用ActiveMQ实例
Feb 05 PHP
PHPstorm激活码2020年5月13日亲测有效
Sep 17 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 isset()与empty()的使用区别详解
2010/08/29 PHP
php使用PDO操作MySQL数据库实例
2014/12/30 PHP
php使用正则验证中文
2016/04/06 PHP
thinkphp验证码的实现(form、ajax实现验证)
2016/07/28 PHP
PHP使用curl函数发送Post请求的注意事项
2016/11/26 PHP
PHP实现的常规正则验证helper公共类完整实例
2017/04/27 PHP
PHP设计模式之观察者模式定义与用法示例
2018/08/04 PHP
jquery $.ajax入门应用一
2008/11/19 Javascript
JavaScript CSS菜单功能 改进版
2008/12/20 Javascript
JavaScript中Function函数与Object对象的关系
2015/12/17 Javascript
js代码实现点击按钮出现60秒倒计时
2021/01/28 Javascript
全面解析Bootstrap中Carousel轮播的使用方法
2016/06/13 Javascript
Bootstrap如何创建表单
2016/10/21 Javascript
原生javascript实现文件异步上传的实例讲解
2017/10/26 Javascript
vue修改对象的属性值后页面不重新渲染的实例
2018/08/09 Javascript
js动态设置select下拉菜单的默认选中项实例
2018/08/21 Javascript
解决vue接口数据赋值给data没有反应的问题
2018/08/27 Javascript
vue观察模式浅析
2018/09/25 Javascript
layui table 多行删除(id获取)的方法
2019/09/12 Javascript
vue中使用[provide/inject]实现页面reload的方法
2019/09/30 Javascript
vue中的过滤器及其时间格式化问题
2020/04/09 Javascript
[02:22]2018DOTA2亚洲邀请赛VG赛前采访
2018/04/03 DOTA
Python黑魔法Descriptor描述符的实例解析
2016/06/02 Python
对Python中的@classmethod用法详解
2018/04/21 Python
在pycharm上mongodb配置及可视化设置方法
2018/11/30 Python
python日期相关操作实例小结
2019/06/24 Python
python 用所有标点符号分隔句子的示例
2019/07/15 Python
Python Django2 model 查询介绍(条件、范围、模糊查询)
2020/03/16 Python
不到20行实现Python代码即可制作精美证件照
2020/04/24 Python
10条PHP编程习惯
2014/05/26 面试题
旷课检讨书2000字
2014/01/14 职场文书
商务助理求职信范文
2014/04/20 职场文书
2015年暑假工作总结
2015/07/13 职场文书
2016年暑假家长对孩子评语
2015/12/01 职场文书
python运算符之与用户交互
2022/04/13 Python
Python可视化神器pyecharts之绘制箱形图
2022/07/07 Python