什么是PEAR?
PEAR是PHP扩展与应用库(the PHP Extension and Application Repository)的缩写。它是一个PHP扩展及应用的一个代码仓库,简单地说,PEAR之于PHP就像是CPAN(Comprehensive Perl Archive Network)之于Perl。
由此可见PEAR是PHP代码的仓库,在这里可以找到很多有用的代码,避免我们重复写一些功能,但是PEAR代码包并不是直接通过HTTP网站下载的,我们需要安装PEAR。
如何获取并安装PEAR
建议:下面操作在Windows 7环境下完成,同样适用于Windows XP/2003/Vista/2008系统,部分操作带有尝试性,为了避免弯路,建议先看完本文,然后再进行相关操作。
如果PHP目录下没有自带PEAR,即找不到go-pear.PHP文件,那么就需要我们手动下载go-pear.PHP文件,点击这里下载并另存为go-pear.PHP,这个文件放到PHP.exe所在的PHP安装目录下,我这里安装目录是D:\PHP5(下文以此目录为准),那么go-pear.PHP的位置应该是D:\PHP5\go-pear.PHP。
开始 – 运行,输入cmd,启动命令提示符,输入以下命令,主要是切换到go-pear.PHP目录下,然后执行这个PHP脚本文件:
PHP5 D: PHP go-pearPHP 遗憾的是可能由于我的PHP版本太新,上述操作提示失败,具体的信息如下:
PHP5\go-pear.PHP on line 733
PHP version is too new (5.3.8) for this go-pear.
PHP.net/go-pear.phar for a more stable and current version of go-pear,more suited to your PHP version.
意思是要求我们到http://pear.PHP.net/go-pear.phar下载go-pear.phar文件,然后取代go-pear.PHP再试。下载好go-pear.phar文件并放到D:\PHP5文件夹中,执行下面的命令:
PHP5
D:
PHP go-pear.phar
这时出现:
Are you installing a system-wide PEAR or a local copy?
(system|local) [system] :
按回车默认system然后继续。以下是默认的pear的临时、数据、配置、测试、执行目录的设置:
- Installation base ($prefix) : D:\PHP5
- Temporary directory for processing : D:\PHP5\tmp
- Temporary directory for downloads : D:\PHP5\tmp
- Binaries directory : D:\PHP5
- PHP code directory ($PHP_dir) : D:\PHP5\pear
- Documentation directory : D:\PHP5\docs
- Data directory : D:\PHP5\data
- User-modifiable configuration files directory : D:\PHP5\cfg
- Public Web Files directory : D:\PHP5\www
- Tests directory : D:\PHP5\tests
- Name of configuration file : C:\Windows\pear.ini
- Path to CLI PHP.exe : D:\PHP5
1-12,'all' or Enter to continue:
直接回车使用默认值然后继续安装。本来以为万事大吉的,可是偏偏在这里出现了错误:
Warning: required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning,you most likely misspelled the timezone identifier. We selected ‘UTC' for '8.0/no DST' instead in phar://D:/PHP5/go-pear.phar/PEAR/Registry.PHP on line 1012 PEAR_Config::writeConfigFile fopen(‘C:\Windows\pear.ini','w') Failed (fopen(C:\Windows\pear.ini): Failed to open stream: Permission denied)
看样子是没有权限写入C:\Windows\pear.ini,由于我使用的是Windows 7系统,然后普通用户打开的命令提示符,在这里当然没有权限写入C:\Windows目录了,看来要另辟蹊径了。回到刚才Are you installing a system-wide PEAR or a local copy?这段,为什么不选择local copy呢?网上都是直接说默认回车选择system的,不想改写C:\Windows目录,于是我重新执行PHP go-pear.phar,并且选择local。
Are you installing a system-wide PEAR or a local copy? (system|local) [system] : local Please confirm local copy by typing 'yes' : yes
好了,这下正常了:-)
PHP.ini
Current include path : .;C:\PHP\pear
Configured directory : D:\PHP5\pear
Currently used PHP.ini (guess) : D:\PHP5\PHP.ini
Press Enter to continue:
接着出现上面这段,看来没有什么好改的,直接回车确认即可。
到这里应该能看到Thanks for using go-pear!这句了,那么恭喜你,PEAR总算是安装成功了!
如何安装PEAR Package包
接下来让我们去PEAR网站上看看有什么需要的吧。PEAR每个包都有安装命令的提示,比如说MDB2这个包,上面已经提示使用pear install MDB2命令安装了,假设目录还是D:\PHP5,那么我们利用下面的命令试试:
PHP5 D: pear install MDB2 结果出现下面这个错误:
无法创建目录,看来又是权限问题,索性以管理员身份启动cmd命令提示符,然后重新执行上面的命令。这次总算安装成功了install ok!
另一个安装报错案例:
PHP pear安装出现 Warning: require_once(Structures/Graph.PHP)...错误在WINDOWS安装pear,一路无阻很顺利安装完成,接着想安装下pear email包来玩下,但接下来却报:
PHP): Failed to open stream: No such file or directory in PEAR\Downloader.PHP on line 1217 PHP Warning: require_once(Structures/Graph.PHP): Failed to open stream: No such file or directory in E:\Program Files\PHP5_3\pear\pear\PEAR\Downloader.PHP on l ine 1217
新手没办法,网上找解决。折腾了老半天,还是报这错误.原因很清楚就是少了Structures_Graph这个PEAR应用,相直接通用pear命令: 错误,我丢。。不跟它玩了直接到PEAR官网下载Structures_Graph-1.1.0.tgz包。解压看看里面的结构;发现里面正好有一个Structures/Graph.PHP;于是解压并把压缩包里的Structures文件夹放到pear根目下面。接着再运行Structures_Graph的安装命令,惊喜!!成功了。
接着再安装email,不出意外也成功。到此这个纠结了我半天的问题终于解决了。
谢谢大家的阅读哦!