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实现时间轴函数代码
Oct 08 PHP
php图片加水印原理(超简单的实例代码)
Jan 18 PHP
PHP易混淆函数的区别及用法汇总
Nov 22 PHP
php检索或者复制远程文件的方法
Mar 13 PHP
PHP中的命名空间详细介绍
Jul 02 PHP
PHP消息队列用法实例分析
Feb 12 PHP
php微信公众号开发(4)php实现自定义关键字回复
Dec 15 PHP
PHP实现的简单操作SQLite数据库类与用法示例
Jun 19 PHP
thinkphp 抓取网站的内容并且保存到本地的实例详解
Aug 25 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
Feb 07 PHP
PHP实现上传图片到数据库并显示输出的方法
May 31 PHP
PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
Feb 15 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中使用全局变量的几种方法
2013/06/24 PHP
PHP把MSSQL数据导入到MYSQL的方法
2014/12/27 PHP
使用YII2框架实现微信公众号中表单提交功能
2017/09/04 PHP
ExtJS Grid使用SimpleStore、多选框的方法
2009/11/20 Javascript
js获取url中"?"后面的字串方法
2014/05/15 Javascript
浅谈JavaScript字符集
2014/05/22 Javascript
jQuery实现动态添加和删除一个div
2015/08/12 Javascript
leaflet的开发入门教程
2016/11/17 Javascript
详解vue-cli本地环境API代理设置和解决跨域
2017/09/05 Javascript
浅谈vue自定义全局组件并通过全局方法 Vue.use() 使用该组件
2017/12/07 Javascript
Angular2开发环境搭建教程之VS Code
2017/12/15 Javascript
微信小程序ibeacon三点定位详解
2018/10/31 Javascript
详解项目升级到vue-cli3的正确姿势
2019/01/28 Javascript
通过数据库向Django模型添加字段的示例
2015/07/21 Python
详解Python中的Descriptor描述符类
2016/06/14 Python
Python Flask-web表单使用详解
2017/11/18 Python
python如何对实例属性进行类型检查
2018/03/20 Python
对python字典元素的添加与修改方法详解
2018/07/06 Python
对Python中Iterator和Iterable的区别详解
2018/10/18 Python
使用python实现ftp的文件读写方法
2019/07/02 Python
Python+opencv+pyaudio实现带声音屏幕录制
2019/12/23 Python
tensorflow 实现打印pb模型的所有节点
2020/01/23 Python
使用python实现下载我们想听的歌曲,速度超快
2020/07/09 Python
python爬虫爬取图片的简单代码
2021/01/18 Python
英国亚马逊官方网站:Amazon.co.uk
2019/08/09 全球购物
解释一下ruby中的特殊方法与特殊类
2013/02/26 面试题
土木工程个人自荐信范文
2013/11/30 职场文书
《木笛》教学反思
2014/03/01 职场文书
简单租房协议书
2014/04/09 职场文书
2014党员批评和自我批评思想汇报
2014/09/21 职场文书
群众路线教育实践活动个人对照检查材料
2014/09/22 职场文书
企业法人代表授权委托书
2014/10/02 职场文书
2014报到证办理个人委托书
2014/10/08 职场文书
乡镇法制宣传日活动总结
2015/05/05 职场文书
教师调动申请报告
2015/05/18 职场文书
原生JS中应该禁止出现的写法
2021/05/05 Javascript