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 08 PHP
PHP仿盗链代码
Jun 03 PHP
浅谈php和.net的区别
Sep 28 PHP
PHP时间和日期函数详解
May 08 PHP
PHP查找与搜索数组元素方法总结
Jun 12 PHP
PHP中的静态变量及static静态变量使用详解
Nov 05 PHP
php获取文章内容第一张图片的方法示例
Jul 03 PHP
PHP将数据导出Excel表中的实例(投机型)
Jul 31 PHP
Laravel如何使用Redis共享Session
Feb 23 PHP
strpos() 函数判断字符串中是否包含某字符串的方法
Jan 16 PHP
php抽象方法和普通方法的区别点总结
Oct 13 PHP
让whoops帮我们告别ThinkPHP6的异常页面
Mar 02 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 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe的区别分析
2011/03/28 PHP
PHP中如何实现常用邮箱的基本判断
2014/01/07 PHP
PHP编写的图片验证码类文件分享
2016/06/06 PHP
php将服务端的文件读出来显示在web页面实例
2016/10/31 PHP
PHP设计模式之适配器模式(Adapter)原理与用法详解
2019/12/12 PHP
简短几句 通俗解释javascript的闭包
2011/01/17 Javascript
easyui datagrid 键盘上下控制选中行示例
2014/03/31 Javascript
深入学习JavaScript中的原型prototype
2015/08/13 Javascript
详解JavaScript中的Unescape()和String() 函数
2015/11/09 Javascript
分享一个插件实现水珠自动下落效果
2016/06/01 Javascript
js微信分享API
2020/10/11 Javascript
Bootstrap作品展示站点实战项目2
2016/10/14 Javascript
JavaScript给每一个li节点绑定点击事件的实现方法
2016/12/01 Javascript
Vue.js做select下拉列表的实例(ul-li标签仿select标签)
2018/03/02 Javascript
详解vue后台系统登录态管理
2019/04/02 Javascript
微信小程序实现录音时的麦克风动画效果实例
2019/05/18 Javascript
JS实现的简单tab切换功能完整示例
2019/06/20 Javascript
微信小程序 弹窗输入组件的实现解析
2019/08/12 Javascript
vue cli3 调用百度翻译API翻译页面的实现示例
2019/09/13 Javascript
JS实现简单移动端鼠标拖拽
2020/07/23 Javascript
解决Antd Table组件表头不对齐的问题
2020/10/27 Javascript
Django通过dwebsocket实现websocket的例子
2019/11/15 Python
Pytorch之Variable的用法
2019/12/31 Python
Python面向对象之继承原理与用法案例分析
2019/12/31 Python
Python 实现网课实时监控自动签到、打卡功能
2020/03/12 Python
Pycharm内置终端及远程SSH工具的使用教程图文详解
2020/03/19 Python
浅谈对python中if、elif、else的误解
2020/08/20 Python
AmazeUI的下载配置与Helloworld的实现
2020/08/19 HTML / CSS
计算机个人求职信范例
2014/01/24 职场文书
毕业生就业推荐表自我鉴定
2014/03/20 职场文书
预备党员自我评价范文
2015/03/04 职场文书
婚宴新郎致辞
2015/07/28 职场文书
Nginx设置日志打印post请求参数的方法
2021/03/31 Servers
深入理解python协程
2021/06/15 Python
Python Numpy库的超详细教程
2022/04/06 Python
使用MybatisPlus打印sql语句
2022/04/22 SQL Server