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 相关文章推荐
php IP及IP段进行访问限制的代码
Dec 17 PHP
PHP教程 基本语法
Oct 23 PHP
php include加载文件两种方式效率比较
Aug 08 PHP
thinkphp命名空间用法实例详解
Dec 30 PHP
PHP计算日期相差天数实例分析
Feb 23 PHP
CodeIgniter表单验证方法实例详解
Mar 03 PHP
php 指定范围内多个随机数代码实例
Jul 18 PHP
示例详解Laravel的注册重构
Aug 14 PHP
yii2.0整合阿里云oss上传单个文件的示例
Sep 19 PHP
php中各种定义变量的方法小结
Oct 18 PHP
PHP大文件分块上传功能实例详解
Jul 22 PHP
利用ajax+php实现商品价格计算
Mar 31 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
echo(),print(),print_r()之间的区别?
2006/11/19 PHP
PHP创建对象的六种方式实例总结
2019/06/27 PHP
JQuery筛选器全系列介绍
2013/08/27 Javascript
当某个文本框成为焦点时即清除文本框内容
2014/04/28 Javascript
AngularJS 表达式详解及实例代码
2016/09/14 Javascript
js 判断附件后缀的简单实现方法
2016/10/11 Javascript
微信小程序 使用picker封装省市区三级联动实例代码
2016/10/28 Javascript
微信小程序五星评分效果实现代码
2017/04/06 Javascript
Vue动态修改网页标题的方法及遇到问题
2019/06/09 Javascript
vue中使用element ui的弹窗与echarts之间的问题详解
2019/10/25 Javascript
[49:21]TNC vs VG 2019DOTA2国际邀请赛淘汰赛 胜者组赛BO3 第三场 8.20.mp4
2019/08/22 DOTA
无法使用pip命令安装python第三方库的原因及解决方法
2018/06/12 Python
Pycharm导入Python包,模块的图文教程
2018/06/13 Python
Python多线程原理与用法详解
2018/08/20 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
2019/09/11 Python
python+OpenCV实现车牌号码识别
2019/11/08 Python
python 实现兔子生兔子示例
2019/11/21 Python
pycharm快捷键汇总
2020/02/14 Python
python os模块在系统管理中的应用
2020/06/22 Python
支持IE8的纯css3开发的响应式设计动画菜单教程
2014/11/05 HTML / CSS
用CSS3实现瀑布流布局的示例代码
2017/11/10 HTML / CSS
Skyscanner阿联酋:全球领先的旅游搜索平台
2017/11/25 全球购物
ABOUT YOU罗马尼亚:超过600个时尚品牌
2019/09/19 全球购物
介绍JAVA 中的Collection FrameWork(及如何写自己的数据结构)
2014/10/31 面试题
求职信模板标准格式范文
2014/02/23 职场文书
法人授权委托书
2014/04/03 职场文书
2014年创先争优活动总结
2014/05/04 职场文书
职务说明书范文
2014/05/07 职场文书
2014医学院领导干部四风对照检查材料思想汇报
2014/09/16 职场文书
KTV门卫岗位职责
2014/10/09 职场文书
企业催款函范本
2015/06/24 职场文书
python中pandas.read_csv()函数的深入讲解
2021/03/29 Python
Python合并多张图片成PDF
2021/06/09 Python
浅谈Python数学建模之整数规划
2021/06/23 Python
Java 超详细讲解十大排序算法面试无忧
2022/04/08 Java/Android
Mysql中mvcc各场景理解应用
2022/08/05 MySQL