php 什么是PEAR?(第三篇)

安装完基本套件后,当开发者需要使用基本套件以外的其他套件时,会需要安装套件,若不需要某个套件时,就会想要移除套件,若套件版本过於老旧,则需要升级套件,也就是說开发者需要一套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挡可以刪除了。
请注意上图画面的上方有3个连结,所代表的意义分別是显示已安装套件(list installed packages) 、显示所有套件(list all packages)、显示尚未安装套件(list not installed packages)。
一进入套件管理Web介面时出现的是显示已安装套件的画面,画面中有套件名称,套件功能的概略敘述与套件的版本编号,Local代表目前安装版本的编号,Latest代表PEAR官网上的最新版本的编号。
若目前安装的不是最新版本时,会出现一个upgrade的图案,按下图案即可升级套件,版本编号旁的回收筒图案若按下,会将套件移除,请大家特別注意。
接著我们进入显示尚未安装套件画面
与显示已安装套件的画面大同小異,比较下同的是沒有了垃圾桶图案,取旧代之是一个╂图案,意思是使用者只要按下图案即可安装该套件。
安装失败? 使用者安装时有时会出现该怎麼办呢?
通常会安装失败问题大多出在套件的「相依性」,何谓「相依性」? 简单的說就是有些套件需要先安装其他套件才可使用,所以安装此套件前须先安装相依的套件,大家可点选画面中的回收筒图案,可观看套件的详细讯息,其中会提到与套件相依的其它套件。如下图:
例如:上图中,笔者安装Cache套件前,点选(!+ )图案,观看套件的详细资讯时,在最下面的Packages that depend on Cache中发现Net_Dict、Image Graph等5个套件与Cache套件相依,所以须先安装cache套件才可安装这5个套件。否则,直接安装这些套件会出现”安装失败”的讯息视窗。
套件的管理利用Web界面实在是简单又方便,但速度稍嫌缓慢,而且Web的使用者必须对放置套件的资料夹(本范例为c:AppServ\php\PEAR)具有写入的权限。
笔者推荐用另一种管理方法,推荐的理由是因为它下载套件更快速,管理功能更強大,但缺点是需要打指令。
用指令管理PEAR套件
首先,与上一个方法一樣需先用pear.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这个套件,但这个套件目前並沒有释出stable版,那麼您需要使用以下指令:
也就是套件名称后面必须加上套件的版本编号,大家又会问,我怎麼会知道套件的版本编号呢?这就请查询PEAR官方网站了。若安装的套件不是Stable版卻沒有填写套件编号,安装时会出现”安装非Stable版”的错误讯息,並停止安装。
介绍您一个偷懒的好方法:若您一定要安装某个套件,不管它足stable版还是beta版,这时候可以使用一个指令:
例如,同樣想安装liveuser套件,卻懒得去查版本编号,那就使用这樣的指令吧
指令中的“-f”代表強迫的意思「force」,就是不管如何都要安装就对了。
用指令移除PEAR套件
移除套件比安装简单多了,只要输入:
这樣的指令即可,如下图:假设我将移除名为benchmark套件,如下图:
最后出现“uninstall ok”代表移除套件成功了,移除套件的失败机率很低,请大家放心。
用指令升级PEAR套件
套件会有新的版本不停的释出,若要将旧套件升级成新套件也非常简单,只需要输入指令:
即可,例如:笔者若要升级名为cache的套件,只要输入:
就可以了。升级的过程与安装套件一樣,有时会出现相依性的问题而升级失败,此时只要先安装相依套件就可以了
其它指令较少用到,我在这里不再介绍了,请大家自行观看。只要在命令提示字元视窗中输入pear指令后,就会出现指令的說明。
修改php.ini档
这是PEAR使用前最后的工作了,不管您用Web介面,还足用指令来管理套件,都需要修改php.ini档。这个档放在C:WINDOWS目錄下,请用文字编辑器将它打开加入一行字如下:
加入后,记得存档,並将Apache重新执行,这樣就可以了。大家应该看的出来,include_path的值就是下载並安装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功力的絕佳体验吧。

(0)

相关推荐

  • pear包安装phpunit的方法

    PHPUnit可以通过PHP扩展和程序库(PEAE)获得. PEAR是可重用PHP组件的框架和分发系统. 安装PHPUnit可以通过PEAR安装程序命令获得: pear install PHPUnit2 根据PEAR的版本命名标准,适用于PHP5的PHPUnit包称为PHPUnit2. PHPUnit是适用于PHP4的包,这在本书后面关于"在PHP4中使用PHPUnit"一章会提到. 安装只有,能够在本地的PEAR目录中找到PHPUnit的源代码,路径通常是/usr/lib/ php/

  • PHP使用pear实现mail发送功能 windows环境下配置pear

    PHP发邮件可以用其自带mail()函数,但是这个函数很不好使,需要配置邮件服务器,并且不支持smtp验证,在很多场合无法正常的工作. 找了个代码发邮件,但总是出错,我在这里用PEAR的Mail类,使用smtp发邮件. 首先安装,我推陈用最新版的PHP5,因为我用PHP4出现了很多问题,大多是因为那些封装好的类版本太高,与PHP4不兼容的原故吧. 安装方法: 1.在php目录中双击go-pear.bat. 2.按照提示输入一些设置信息,主要是问直接访问外网,还是用代理,若无代理服务器则直接回车,

  • PHP Pear 安装及使用

    安装pear -------------- pear是PHP的扩展和应用程序库,包含了很多有用的类,安装好php5.0后,pear实际上并没有被安装,安装的方法如下: 1.在php目录中双击go-pear.bat. 2.按照提示输入一些设置信息,主要是要把局域网的网关加上,如http://192.168.0.1:80/ ,pear要用这个地址访问Internet,若无代理服务器则直接回车 ,,我是直接按回车. 3.然后会提示一些包和PHP绑定,选择Y . 4.然后安装基本包和提示安装成功,就这么

  • windows下安装pear及phpunit(注意配置好php命令行环境)

    安装环境 在安装PEAR之前需要配置安装PHP环境,如果没有自带PEAR (直接访问http://go-pear.org并保存其首页为go-pear.php) PEAR安装准备 如果PHP运行环境没有自带PEAR,则需要下载go-pear.php文件,同时保存在php.exe所在的目录下. PEAR安装步骤 1.我这里用的是wamp集成环境,d:\wamp\bin\php\php5.2.5>go-pear,开始自动安装. 通过这个PEAR安装截图,可以看到首先需要确认PEAR的安装目录结构,系统

  • php 什么是PEAR?

    PHP爱好者必喜欢PEAR,我们的目的就是希望将PEAR介绍给PHP的程式开发人员,我个人认为引用程式库的程式开发方式已经渐渐成为趋势了,除了php.JSP外,像perl.C++也都有专属的程式库供其开发人员引用. 借着引入PEAR,php的程式开发者除了可以大幅缩減撰写程式码的工作与时间外,还可以用很简单的方式得到许多強大的动态网页功能,我将会列举许多的实例,让大家看了后,一定会啪掌叫好,並深深的迷上了PEAR.此外,程式码很容易维护,安全性高也是PEAR另2个很吸引人的优点,PAER程式库宛

  • PHP扩展模块Pecl、Pear以及Perl的区别

    一.简短总结:pear:一个书写的比较规范,国外较流行的工具箱代码集pecl:php扩展包,但不属于php基本扩展范围perl:一种早于php出现的脚本级语言,php借鉴了他的正则表达式部分 二.Pear.Pecl都是PHP扩展模块的集合.是扩展PHP的两种方法: A.一种是用纯粹的PHP代码写函数和类.Pear就是这样一个项目.PEAR是PHP的官方开源类库(PHP Extension and Application Repository的缩写).Pear在英文中是梨子的意思.PEAR将PHP

  • windows下安装PEAR php5.3.1下解决出错的方法

    phar "C:\php\PEAR\go-pear.phar" does not have a signature PHP Warning:  require_once(phar://go-pear.phar/index.php): failed to open stream: phar error: invalid url or non-existent phar "phar://go-pear.phar/index.php" in C:\php\PEAR\go-

  • PHP 5.0 Pear安装方法

    pear是PHP的扩展和应用程序库,包含了很多有用的类,安装好php5.0后,pear实际上并没有被安装,安装的方法如下:   1.在php目录中双击go-pear.bat.  2.按照提示输入一些设置信息,主要是要把局域网的网关加上,如http://192.168.0.1:80/ ,pear要用这个地址访问Internet,若无代理服务器则直接回车   3.然后会提示一些包和PHP绑定,选择Y .  4.然后安装基本包和提示安装成功,就这么简单.  5.打开windows目录下的php.ini

  • php 什么是PEAR?(第二篇)

    ▓ 套件简介 PEAR最重要的就是拥有许多的程式库可供开发者免费引用,这些程式库会被包裹成套件,而且每个套件中都会放入一个名为package.xml的档案.这是PEAR团队的规定,这个档案纪錄著程式库的档案架构,版本编号等资料,有了这个档案,程式库压缩后才有资格称为「套件」,也因为有了这个xml档,PEAR所提供的「套件管理指令」就可以很简单地管理程式库,例如:可以用指令来安装套件.刪除套件.观看套件资讯或套件升级等. 另外.关於套件的安全性方面,使用者若发现套件有问题,可以借由论坛加以讨论或回

  • BOM系列第三篇之定时器应用(时钟、倒计时、秒表和闹钟)

    时钟 最简单的时钟制作办法是通过正则表达式的exec()方法,将时间对象的字符串中的时间部分截取出来,使用定时器刷新即可 <div id="myDiv"></div> <script> myDiv.innerHTML = /\d\d:\d\d:\d\d/.exec(new Date().toString())[0]; setInterval(function(){ myDiv.innerHTML = /\d\d:\d\d:\d\d/.exec(new

  • 第三篇Bootstrap网格基础

    Bootstrap 提供了一套响应式.移动设备优先的流式网格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列. 网格系统类似一个表格,有行和列,它必须放置在一个类型设置为container的容器里,可以是div,内容放置在列内,网页设计中的网格用于布局内容,让网站易于浏览,下面是一个用bootstrap网格布局的例子. <div> <div>col2</div> <div>col10</div> </div>

  • Java基础第三篇 构造器与方法重载

    目录 1.定义构造器 2.初始化方法的优先级 3.方法重载 4.总结 在方法与数据成员中,我们提到,Java中的对象在创建的时候会初始化(initialization).初始化时,对象的数据成员被赋予初始值.我们可以显式初始化.如果我们没有给数据成员赋予初始值,数据成员会根据其类型采用默认初始值.显式初始化要求我们在写程序时就确定初始值,这有时很不方便.我们可以使用构造器(constructor)来初始化对象.构造器可以初始化数据成员,还可以规定特定的操作.这些操作会在创建对象时自动执行 1.定

  • php 什么是PEAR?(第三篇)

    安装完基本套件后,当开发者需要使用基本套件以外的其他套件时,会需要安装套件,若不需要某个套件时,就会想要移除套件,若套件版本过於老旧,则需要升级套件,也就是說开发者需要一套PEAR套件的管理系统. 在Windows作业系统下的套件安装与管理可以有两种方式,一种是使用Web的管理介面,另一种足使用「套件指令」.笔者较为推荐后者,因为执行的速度较快,但若您对指令有畏惧感,也可以用第一种来轻松管理套件. 用web介面管理套件 Web的套件管理在上一个单元安装基本套件时.就已经顺便安装好了.上一个单元中

  • 编写轻量ajax组件第三篇实现

    通过之前的介绍,我们知道要执行页面对象的方法,核心就是反射,是从请求获取参数并执行指定方法的过程.实际上这和asp.net mvc框架的核心思想很类似,它会解析url,从中获取controller和action名称,然后激活controller对象,从请求获取action参数并执action.在web form平台上,我们把方法写在.aspx.cs中,要实现的就是在页面对象还未生成的情况下,执行指定的方法,然后返回结果. 我们先看实现后几个调用例子,这些功能也可以组合使用: [AjaxMetho

  • Linux学习第三篇 Centos7安装mysql5.7.16数据库

    前言:在linux下安装mysql不如windows下面那么简单,但是也不是很难.本文向大家讲解了如何在Centos7下如何安装mysql5.7版本,如果有什么问题和错误的地方,欢迎大家指出. 版本:mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar 注释:在安装前需要确定现在这个系统有没有mysql,如果有那么必须卸载(在centos7自带的是mariaDb数据库,所以第一步是卸载数据库) 查看mysql数据库: rpm -qa | grep -i mysql 卸

  • ASP基础入门第三篇(ASP脚本基础)

    下面就先请大家跟我来学习一些ASP 中应用脚本语言(以VBScript 为主)的基础知识. 在开始学习脚本语言之前,你应该理解一些简单的概念 -- 变量.进程.所谓变量是计算机内存中已命名的存储位置,其中包含了数字或字符串等数据,它使用户便于理解脚本操作的名称,为用户提供了一种存储.检索和操作数据的途径.程序是由一个或多个进程组成的,在 VBScript 中,进程就是"指令块",通常意义上的进程,如 Sub,只是为了简单的数据处理. 在 VBScript 中,严格的来讲变量是不用声明的

  • 菜鸟蔡之Ajax复习第三篇(Ajax之无刷新登录)

    好了,还是和以前一样,先建一个Login.html页面吧,用于填写登录信息,然后再建一个DealData.aspx页面吧(当然,这里用一般处理程序是最好的了:*.ashx),用来处理数据用的. 在login.html页面中其代码如下: 复制代码 代码如下: <head> <title>无刷新登录</title> <script src="Scripts/jquery-1.4.1.js" type="text/javascript&qu

  • Javascript入门学习第三篇 js运算第1/2页

    1, 表达式: 最简单的表达式:直接量或者变量名.var a =1; 直接量表达式的值:本身. 变量表达式的值:该变量所存放或引用的值. 2 , 运算符: 一元运算符: 比如  - 3  二元运算符: 比如  3+4  三元运算符: 比如  ?   : 新手常遇到的问题: 递增运算符: 比如: i  =  1 ; j  = ++ i ; // 前递增运算,即先对运算数进行递增,然后再去计算. //输出   i  =2;    j=2 ; i  =  1 ; j  =  i ++; // 后递增运

随机推荐