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 相关文章推荐
人大复印资料处理程序_输入篇
Oct 09 PHP
PHP 操作文件的一些FAQ总结
Feb 12 PHP
PHP UTF8编码内的繁简转换类
Jul 20 PHP
提高define性能的php扩展hidef的安装和使用
Jun 14 PHP
超小PHP小马小结(方便查找后门的朋友)
May 05 PHP
PHP贪婪算法解决0-1背包问题实例分析
Mar 23 PHP
PHP strip_tags保留多个HTML标签的方法
May 22 PHP
Laravel5权限管理方法详解
Jul 26 PHP
详解Yii2 rules 的验证规则
Dec 02 PHP
phpcms的分类名称和类别名称的调用
Jan 05 PHP
visual studio code 调试php方法(图文详解)
Sep 15 PHP
PHP命名空间与自动加载类详解
Sep 04 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
做个自己站内搜索引擎
2006/10/09 PHP
php 删除cookie和浏览器重定向
2009/03/16 PHP
PHP简单实现“相关文章推荐”功能的方法
2014/07/19 PHP
php使用gd2绘制基本图形示例(直线、圆、正方形)
2017/02/15 PHP
Laravel定时任务的每秒执行代码
2019/10/22 PHP
双击滚屏-常用推荐
2006/11/29 Javascript
javascript题目,重写函数让其无限相加
2012/02/15 Javascript
jQuery分别获取选中的复选框值的示例
2014/06/17 Javascript
使用jQuery不判断浏览器高度解决iframe自适应高度问题
2014/12/16 Javascript
如何实现移动端浏览器不显示 pc 端的广告
2015/10/15 Javascript
高效的jquery数字滚动特效
2015/12/17 Javascript
JS正则表达式比较常见用法
2016/01/26 Javascript
全面解析vue中的数据双向绑定
2017/05/10 Javascript
vue父组件通过props如何向子组件传递方法详解
2017/08/16 Javascript
JQuery EasyUI 结合ztrIee的后台页面开发实例
2017/09/01 jQuery
详解Webstorm 新建.vue文件支持高亮vue语法和es6语法
2017/10/26 Javascript
jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法
2017/12/24 jQuery
Vue一次性简洁明了引入所有公共组件的方法
2018/11/28 Javascript
详解vue中axios的使用与封装
2019/03/20 Javascript
微信小程序防止多次点击跳转(函数节流)
2019/09/19 Javascript
Vue.js标签页组件使用方法详解
2019/10/19 Javascript
跟老齐学Python之编写类之二方法
2014/10/11 Python
Python3实现将文件归档到zip文件及从zip文件中读取数据的方法
2015/05/22 Python
在Apache服务器上同时运行多个Django程序的方法
2015/07/22 Python
python监控文件或目录变化
2016/06/07 Python
手把手教你用python抢票回家过年(代码简单)
2018/01/21 Python
Python实现的朴素贝叶斯算法经典示例【测试可用】
2018/06/13 Python
Python 定义只读属性的实现方式
2020/03/05 Python
Canvas 文本转粒子效果的实现代码
2019/02/14 HTML / CSS
html Table 表头固定的实现
2019/01/22 HTML / CSS
前端使用canvas生成盲水印的加密解密的实现
2020/12/16 HTML / CSS
美国在线旅行社:Crystal Travel
2018/09/11 全球购物
2014年医院个人工作总结
2014/12/09 职场文书
2015年会计工作总结范文
2015/05/26 职场文书
jQuery class属性操作addClass()与removeClass()、hasClass()、toggleClass()
2021/03/31 jQuery
这样写python注释让代码更加的优雅
2021/06/02 Python