php 什么是PEAR?(第三篇)


Posted in PHP onMarch 19, 2009

安装完基本套件后,当开发者需要使用基本套件以外的其他套件时,会需要安装套件,若不需要某个套件时,就会想要移除套件,若套件版本过於老旧,则需要升级套件,也就是?开发者需要一套PEAR套件的管理系统。
在Windows作业系统下的套件安装与管理可以有两种方式,一种是使用Web的管理介面,另一种足使用「套件指令」。笔者较为推荐后者,因为执行的速度较快,但若您对指令有畏惧感,也可以用第一种来轻松管理套件。
用web介面管理套件
Web的套件管理在上一个单元安装基本套件时.就已经顺便安装好了。上一个单元中安装完PEAR基本套件的画面,在最下方会出现Start Web Rrontend of the PEAR instoller>>这个连结,点选后即可进入套件管理的Web介面,如下图:
管理介面网页档的所在位置,就是上一个单元的第9个设定项Filename of WebFrontend,我使用的范例是设为c :AppServ\www\pearindex.php,记得将它加入我的最爱。另外,先前的pear.php挡可以?h除了。
请注意上图画面的上方有3个连结,所代表的意义分?e是显示已安装套件(list installed packages) 、显示所有套件(list all packages)、显示尚未安装套件(list not installed packages)。
一进入套件管理Web介面时出现的是显示已安装套件的画面,画面中有套件名称,套件功能的概略?⑹鲇胩准?陌姹颈嗪牛?ocal代表目前安装版本的编号,Latest代表PEAR官网上的最新版本的编号。
若目前安装的不是最新版本时,会出现一个upgrade的图案,按下图案即可升级套件,版本编号旁的回收筒图案若按下,会将套件移除,请大家特?e注意。
接著我们进入显示尚未安装套件画面
与显示已安装套件的画面大同小?,比较下同的是?]有了垃圾桶图案,取旧代之是一个╂图案,意思是使用者只要按下图案即可安装该套件。
安装失败? 使用者安装时有时会出现该怎?办呢?
通常会安装失败问题大多出在套件的「相依性」,何谓「相依性」? 简单的?就是有些套件需要先安装其他套件才可使用,所以安装此套件前须先安装相依的套件,大家可点选画面中的回收筒图案,可观看套件的详细讯息,其中会提到与套件相依的其它套件。如下图:
例如:上图中,笔者安装Cache套件前,点选(!+ )图案,观看套件的详细资讯时,在最下面的Packages that depend on Cache中发现Net_Dict、Image Graph等5个套件与Cache套件相依,所以须先安装cache套件才可安装这5个套件。否则,直接安装这些套件会出现”安装失败”的讯息视窗。
套件的管理利用Web界面实在是简单又方便,但速度稍嫌缓慢,而且Web的使用者必须对放置套件的资料夹(本范例为c:AppServ\php\PEAR)具有写入的权限。
笔者推荐用另一种管理方法,推荐的理由是因为它下载套件更快速,管理功能更??大,但缺点是需要打指令。
用指令管理PEAR套件
首先,与上一个方法一?有柘扔?ear.php网页来安装完基本套件,虽然安装后已有Web的套件管理介面可用,可是请使用者备而不用,接著到桌面的我的电脑图案,按下右键,出现选单,请选择「内容」,会跳出系统内容视窗,在第4个名为进阶的标签中点选环境变数按钮,如下图:
出现?境变数视窗,请点选下方系统变数窗格中的Path,按编辑钮,会出现编辑系统变数视窗,请在变数值栏位最后加上“;C:AppServ\php”,请注意,“C:”前须有一个分号(“;”)喔,编辑完按确定钮关闭视窗,如下图:
只要完成这个步骤,就可以使用指令来管理PEAR套件了。
我们来做个测试好了,请选择「开始/所有程式(程式集)/附属应用程式/命令提示字元」。在 > 后输入:
这个指令后按下键盘上的Enter键,将会出现所有PEAR管理指令与?明,如下画面:
注意:PEAR指令在Windows系统中使用大写和小写皆可
我接著根据上图的?明,试验一下其他指令。例如若要显示所有已安装套件,只要输入“pear list”即可,画面将会出现目前已安装套件的名称、套件编号、套件状态
指令失效?别急,若发现指令失效,只要到C:WINDOWS下找到php.ini档并用任何一中文字编辑器将它打开,将原本的“register_argc_argv=OFF”改为“register_argc_argv=ON”,存档后,将命令提示字元视窗关闭后重开,即可以无障碍地使用PEAR指令了。
就可以进行安装,请注意,套件名称使用大小写都可以,若套件状态为stable版则不用输入套件编号,例如:笔者要安装benchmark套件,只要输入
当最后一行出现“install ok:Benchmark 1.2.1”即代表安装成功。
但若安装时出现相依性的问题而安装失败时,该怎?办呢? 例如笔者安装Html_QuickForm套件时.出现需要先安装Html_Common套件的讯息,所以我只好再输入“pear install html_common”.这个指令,终於出现“install ok”的字?恿恕
接著再安装Html_QuickForm套件,如下图,即可大功告成
若您安装的是Beta或Alpha版也就是试用版的套件,请在pear install后输入完整的套件版本号码。例如,若您要安装liveuser这个套件,但这个套件目前?K?]有释出stable版,那?您需要使用以下指令:
也就是套件名称后面必须加上套件的版本编号,大家又会问,我怎?会知道套件的版本编号呢?这就请查询PEAR官方网站了。若安装的套件不是Stable版?s?]有填写套件编号,安装时会出现”安装非Stable版”的错误讯息,?K停止安装。
介绍您一个偷懒的好方法:若您一定要安装某个套件,不管它足stable版还是beta版,这时候可以使用一个指令:
例如,同?酉氚沧?iveuser套件,?s懒得去查版本编号,那就使用这?拥闹噶畎
指令中的“-f”代表??迫的意思「force」,就是不管如何都要安装就对了。
用指令移除PEAR套件
移除套件比安装简单多了,只要输入:
这?拥闹噶罴纯桑?缦峦迹杭偕栉医?瞥???enchmark套件,如下图:
最后出现“uninstall ok”代表移除套件成功了,移除套件的失败机率很低,请大家放心。
用指令升级PEAR套件
套件会有新的版本不停的释出,若要将旧套件升级成新套件也非常简单,只需要输入指令:
即可,例如:笔者若要升级名为cache的套件,只要输入:
就可以了。升级的过程与安装套件一?樱?惺被岢鱿窒嘁佬缘奈侍舛??妒О埽?耸敝灰?劝沧跋嘁捞准?涂梢粤
其它指令较少用到,我在这里不再介绍了,请大家自行观看。只要在命令提示字元视窗中输入pear指令后,就会出现指令的?明。
修改php.ini档
这是PEAR使用前最后的工作了,不管您用Web介面,还足用指令来管理套件,都需要修改php.ini档。这个档放在C:WINDOWS目?下,请用文字编辑器将它打开加入一行字如下:
加入后,记得存档,?K将Apache重新执行,这?泳涂梢粤恕4蠹矣Ω每吹某隼矗?nclude_path的值就是下载?K安装PEAR套件的所在路径,但是,为何要加入此行呢?笔者下一章会加以?明。
我们来检视一下加入这一行是否让设定值改变了。请您在c:AppServ\www中建立一个档案,名为phpinfo.php,档案内只写入一行:
接着在浏览器输入http;//127.0.0.1/phpinfo.php或http;//localhost/phpinfo.php
另外,我还建议,将php.ini档中的allowcall_time_passreference设定项的值改为On,原因我会在第6章做解释。
若一切动作?]有错误,出现的画面如上图,那么,就准备享受PEAR所带来的倍增PHP功力的?佳体验吧。

PHP 相关文章推荐
第七节 类的静态成员 [7]
Oct 09 PHP
安装PHP可能遇到的问题“无法载入mysql扩展” 的解决方法
Apr 16 PHP
mysql5的sql文件导入到mysql4的方法
Oct 19 PHP
防止MySQL注入或HTML表单滥用的PHP程序
Jan 21 PHP
php URL编码解码函数代码
Mar 10 PHP
PHP小教程之实现双向链表
Jun 12 PHP
Discuz7.2版的faq.php SQL注入漏洞分析
Aug 06 PHP
PHP微信刮刮卡 附微信接口
Jul 22 PHP
PHP预定义超全局数组变量小结
Aug 20 PHP
PHP实时统计中文字数和区别
Feb 28 PHP
PHP中的自动加载操作实现方法详解
Aug 06 PHP
php和html的区别点详细总结
Sep 24 PHP
php 什么是PEAR?(第二篇)
Mar 19 #PHP
php 什么是PEAR?
Mar 19 #PHP
php 信息采集程序代码
Mar 17 #PHP
php cookie 登录验证示例代码
Mar 16 #PHP
php 删除cookie和浏览器重定向
Mar 16 #PHP
php cookis创建实现代码
Mar 16 #PHP
php session应用实例 登录验证
Mar 16 #PHP
You might like
PHP新手上路(六)
2006/10/09 PHP
PHP正则获取页面所有图片地址
2016/03/23 PHP
php与c 实现按行读取文件实例代码
2017/01/03 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
Alliance vs Liquid BO3 第三场2.13
2021/03/10 DOTA
用javascript获取地址栏参数
2006/12/22 Javascript
关于javascript DOM事件模型的两件事
2010/07/22 Javascript
javascript实现图像循环明暗变化的方法
2015/02/25 Javascript
javascript 应用小技巧方法汇总
2015/07/05 Javascript
JS实现双击屏幕滚动效果代码
2015/10/28 Javascript
Bootstrap实现默认导航栏效果
2020/09/21 Javascript
理解javascript定时器中的setTimeout与setInterval
2016/02/23 Javascript
jQuery+CSS3文字跑马灯特效的简单实现
2016/06/25 Javascript
JS常用函数和常用技巧小结
2016/10/15 Javascript
8 行 Node.js 代码实现代理服务器
2016/12/05 Javascript
JavaScript设计模式之职责链模式应用示例
2018/08/07 Javascript
微信小程序分享海报生成的实现方法
2018/12/10 Javascript
js实现烟花特效
2020/03/02 Javascript
python 文件和路径操作函数小结
2009/11/23 Python
在Django的模型和公用函数中使用惰性翻译对象
2015/07/27 Python
python 中if else 语句的作用及示例代码
2018/03/05 Python
python docx 中文字体设置的操作方法
2018/05/08 Python
Python3用tkinter和PIL实现看图工具
2018/06/21 Python
python批量创建指定名称的文件夹
2019/03/21 Python
python Elasticsearch索引建立和数据的上传详解
2019/08/04 Python
keras 读取多标签图像数据方式
2020/06/12 Python
突破canvas语法限制 让他支持链式语法
2012/12/24 HTML / CSS
你所在的项目是如何确定版本号的
2015/12/28 面试题
医科大学生毕业的自我评价分享
2013/11/12 职场文书
留守儿童工作方案
2014/06/02 职场文书
小学运动会班级口号
2014/06/09 职场文书
优秀毕业生找工作自荐信
2014/06/23 职场文书
幼儿园三八妇女节活动总结
2015/02/06 职场文书
2015年驾驶员工作总结
2015/04/29 职场文书
2015年英语教研组工作总结
2015/05/23 职场文书
OpenFeign实现远程调用
2022/08/14 Java/Android