分享
 
 
 

PHPlet在Windows下的安装

王朝php·作者佚名  2008-05-21
窄屏简体版  字體: |||超大  

PHPlet是什么?

很简单,它是一个使用PHP编写的Web服务器,可以替代我们常用的Apache或IIS。

为什么要介绍PHPlet?

因为它是PHPer们学习Web服务器原理的捷径。

因为它的程序结构很好,类似Java的面向对象编程,有很好的参考价值。

因为我认为 PHP5 和 PHPlet 相继发布稳定版本后,PHP5 + PHPlet + SQLite(PPS) 将是小型应用、程序演示的另外一种选择。

现在大部分的小型应用或者程序演示都是把 Apache + PHP + MySQL (APM结构)做成 exe 或 rpm 安装包,它的容量在 8M-45M 左右。如果使用了 PPS 结构整个系统将会缩减到 2-3M 之内(SQLite 是嵌入式数据库),而且省去了对 Apache 和 MySQL 的依赖。

PHPlet 的运行方式?

PHPlet 使用 php_socktes.dll 实现端口侦听。

PHPlet 是常驻内存的,可以使用 srvany.exe 将它作为NT的服务运行。

PHPlet 的多进程功能只能运行在 Linux、FreeBSD、*unx 系统等系统下,这是因为 PHP 的“进程控制函数库”不支持 Win32 平台。

好了,废话不多说,马上进入我们的PHPlet之旅。

一.资源下载:

l

PHP

ZIP-Format: http://cn.php.net/download/

TGZ-Format: http://cn.php.net/download/

要下载最新的稳定版本,这样会得到更好的性能和稳定性。我用的是 PHP4.3.6,写这篇文档时 PHP5 还在测试阶段。

要下载 ZIP 包而不是安装包,因为安装版(其实是简化版)中没有我们需要的DLL动态链接库。

l

PHPlet

ZIP-Format: http://phplet.sourceforge.net/

TGZ-Format: http://phplet.sourceforge.net/

要下载最新的稳定版本,这样会得到更好的性能和稳定性。我用的是 PHPlet0.0.7,写这篇文档时还没有稳定版本。

二.安装:

l

PHP

解压缩到D:PHP4:

如果你是初学者最好释放到我说的目录,否则后面会带来一些麻烦。

创建 cli_php.exe:

将 D:PHP4cliphp.exe 复制到 D:PHP4cli_php.exe。

它是 PHPlet 的启动程序,复制到 D:PHP4 是为了能跟 php.exe 共享 php.ini。

2

PEAR 的安装:

PHPlet 扩展了 Pear 的类库,那么我们先来安装 Pear。

前提是你的电脑处于连线状态,因为安装程序需要下载一部分组件(还没研究如何不下载)。

另外你的身份必须是 Administrator,因为安装程序中会在 Windows 目录下创建 pear.ini。

一切准备就绪后运行 D:PHP4go-pear.bat 开始安装。

第一步. 直接按回车(也可以CTRL+C退出:D):

Welcome to go-pear!

Go-pear will install the 'pear' command and all the files needed by

it.

This command is your tool for PEAR installation and maintenance.

Go-pear also lets you download and install the PEAR packages bundled

with PHP: DB, Net_Socket, Net_SMTP, Mail, XML_Parser, PHPUnit-0.6.2.

If you wish to abort, press Control-C now, or press Enter to continue:

第二步. 输入Pear下载地址:

用来指定 Pear 组件的下载地址和端口,可以直接按回车。

HTTP proxy (http://user:password@proxy.myhost.com:port), or Enter for none::

第三步. PHP 路径设置:

一共7项,输入相应的序号就可以修改,输入"all"是修改全部,一般情况下只需要修改第7项。

选择第7项后会弹出一个windows的选择目录对话框,选择 D:PHP4。

Below is a suggested file layout for your new PEAR installation.

To

change individual locations, type the number in front of the

directory.

Type 'all' to change all of them or simply press Enter to

accept these locations.

1. Installation prefix

: D:PHP4

2. Binaries directory

: $prefix

3. PHP code directory ($php_dir)

: $prefixpear

4. Documentation base directory

: $php_dirdocs

5. Data base directory

: $php_dirdata

6. Tests base directory

: $php_dirests

7. php.exe path

:

1-7, 'all' or Enter to continue:

第四步,确认:

确认一些组件是否安装,这里要输入"Y",因为 PHPlet 正用到他们。

The following PEAR packages are bundled with PHP: DB, Net_Socket, Net_SMTP,

Mail, XML_Parser, PHPUnit-0.6.2.

Would you like to install these as well? [Y/n] :

第五步,安装或下载组件:

接下来请稍等几分钟,安装程序会自动下载组件并安装。

如果"PHPUnit-0.6.2"下载出错将会报错,这时就要检查一下你的网络连接了。(只要网络正常一般不会有问题,你可以访问http://pear.php.net试试)

Loading zlib: ok

Using local package: PEAR.............ok

Using local package: Archive_Tar......ok

Using local package: Console_Getopt....ok

Using local package: XML_RPC..........ok

Bootstrapping: PEAR...................(local) ok

Bootstrapping: Archive_Tar............(local) ok

Bootstrapping: Console_Getopt.........(local) ok

Using local package: DB...............ok

Using local package: Net_Socket.......ok

Using local package: Net_SMTP.........ok

Using local package: Mail.............ok

Using local package: XML_Parser.......ok

Downloading package: PHPUnit-0.6.2....

好了,到这里Pear已经安装完毕。

修改php.ini:

将 D:PHP4php.ini-dis t改名为 php.ini ,然后打开。

找到:

; Windows: "path1;path2"

;include_path = ".;c:phpincludes"

改为:

; Windows: "path1;path2"

include_path = ".;D:PHP4includes;D:PHP4PEAR"

找到:extension_dir = "./"

改为:extension_dir = "D:PHP4extensions"

找到:;extension=php_sockets.dll

改为:extension=php_sockets.dll

3

PHPlet

解压缩到 D:PHP4PHPlet:

如果你是初学者最好释放到我说的目录,否则后面会带来一些麻烦。

更改配置文件:

打开 D:PHP4PHPletconfigphplet.conf

"WEB_ROOT" 修改为:"D:\PHP4\PHPlet\www"

"HTTP_HOSTNAME" 修改为:"localhost"

"HTTP_HOSTPORT" 修改为:"8080"

"HTTP_SERVER_MODE" 修改为:"sequential"

"HTTP_SERVER_DEBUG" 修改为:"false"

"PHP_EXECUTABLE" 修改为:"D:\PHP4\php.exe"

"CLASSLOADER_SINTAX_CHECK" 修改为:"false"

更改启动文件:

打开 D:PHP4PHPletinphpletstart.bat

link:http://www.knowsky.com

"PHP_EXE" 修改为:D:PHP4cli_php.exe

三.开始!启动服务器!

进入到 D:PHP4PHPletin,双击 phpletstart.bat 启动服务。

好了,打开浏览器输入 http://localhost:8080/phplet/HelloWorld 看一下效果吧。

四.性能测试

发现只要运行一次,无论对 HelloWorld.php 做任何修改(甚至删除),也不会改变第二次刷新的结果(跟 Java Servlet 很像吧?),除非重新启动服务器。所以我感觉它的性能一定很棒,不出所料,请看我的测试结果:

服务器 A(PHP4+PHPlet),特别选了台很烂的 AMD K6-2 400 + 128M。

客户机 B(Windows2003+IE6),P42.6G + 500M

客户机

B 输入网址 http://192.168.0.15:8080/PHPler/HelloWord.php 然后按住 F5 持续1分钟,服务器 A 占用 CPU 一直持续在 60%。如果是 Apache2+PHP4(CGI 模式)以这样的频率刷新将会持续 100%,时间长后有可能会沾光虚拟内存!

当然了,上面只是片面的测试,做为WEB服务更主要的还是稳定,因为时间关系也没功夫更详细的测试。大家可以作更多测试后再一起讨论。

五.注意事项

1.上面说过PHPlet编程有点类似Java Servlet,只要运行一次无论对.php作任何更改(甚至删除),也不会改变第二次刷新的结果。

2. PHPlet的HTTP_HOSTNAME(主机名)最好设置成你的IP而不是localhost,否则其它主机无法通过你的IP访问。

3. 程序中不要使用exit,要使用return退出,否则将会关闭PHPlet服务器。

4. 应该用$response->write()方法输入字符串,因为print或echo会将字符串输出到终端上。

5. PHPlet不支持虚拟目录和虚拟主机功能。

六.结束语

写这篇文章之前并没有接触过Pear、PHPlet和Socktes函数库,所以有些术语可能说得不够准确,欢迎指正!

对PHPlet和其他Web服务器熟悉的朋友希望能相互交流,如果你有任何问题也可以写信给我。

为中国的PHP事业贡献自己微薄的力量 ---- 毛松<maosong@126.com>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有