注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

阿飘的博客

十里平湖霜满天 寸寸青丝愁华年

 
 
 

日志

 
 

创建自己的PEAR频  

2009-04-10 10:17:07|  分类: php |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
PEAR(PHP扩展与应用库,PHP Extension and Application Repository)的强大在此不再啰嗦。因其和PHP绑定发布,而且有强大的软件包依赖关系管理机制,而且非常便于安装和升级其中的类库,深受PHP程序员所喜爱。PEAR1.4之前,我们下载和升级PEAR包的唯一来源是PEAR官方网站。但现在我们有了新的选择――我们可以创建自己的 PEAR频道,并用于管理自己的类库,只要遵循PEAR的规则。所有PHP程序员都可以自由、方便地使用你的类库。例如通过pear install yourchannel/package这样简单的命令使用你的类库,是不是很酷?在此介绍如何创建自己的PEAR频道:在创建频道之前,需要先做些系统管理的工作。你要创建一个MySQL数据库和相应的用户。数据库用户要有在新的数据库中创建、删除和修改表的权限。如创建一个名为pear的数据库,相应创建一个pear用户。接着要对Web服务器进行配置,使之支持你的频道对应的域名(本例中使用pear.example.com)。最理想的情况下,你能够把这个域名指向一个独立的目录。频道相关的脚本将被安装到该目录下。例如:二级域名设置为pear.phpeye.com,指向/websites/pear目录。在apache的httpd.conf中这样设置:#pear.phpeye.com
<VirtualHost 1.2.3.4:80> #写你的服务器IP
        ServerName pear.phpeye.com        ServerAdmin haohappy@gmail.com         DocumentRoot /home/web_happy/pear</VirtualHost>二级域名到服务器IP的指向需要你另外在域名解析面板里添加。
$ pear channel-discover pear.chiaraquartet.net
$ pear install chiara/Chiara_PEAR_Server-0.18.7
$ pear run-scripts chiara/Chiara_PEAR_Server这里有一个bug,似乎pear一直没有解决。我在win和linux都尝试过后才怀疑是个bug。。搜索之后发现果然如些。可能会产生如下信息:
Copying DB_DataObject config file to "C:\php5\pear\data\Chiara_PEAR_Server\data\DBDataObject\pear.ini"
updating database to add deprecated package support
Table 'pear.packages' doesn't exist
Updating database failedInstall scripts complete如果遇到这个bug,可以手动导入SQL(你可以先找一下pearserver.sql的实际位置):
/www/mysql/bin/mysql pear -uroot -ppwd < /www/php/lib/php/data/Chiara_PEAR_Server/data/pearserver.sql
然后再次执行:$ pear run-scripts chiara/Chiara_PEAR_Server         填入一系列配置信息后,
1-6, 'all', 'abort', or Enter to continue: 6
Channel Name (server uri like pear.php.net) [] : pear.phpeye.com
1. Mysql database                                      : pear
2. Mysql Username (must have create permision)         : pear
3. Mysql password                                      : 123456
4. Database Host                                       : localhost
5. Channel Administrator Handle (package.xml user tag) : haohappy
6. Channel Name (server uri like pear.php.net)         : pear.phpeye.com

Copying DB_DataObject config file to
"/www/php/lib/php/data/Chiara_PEAR_Server/data/DBDataObject/pear.ini"database is already upgraded1-2, 'all', 'abort', or Enter to continue:1. Suggested Channel Alias : pear2. Channel summary         : haohappy's pear channel     
1-3, 'all', 'abort', or Enter to continue:
1. Channel Administrator Real Name : Hao Chen2. Channel Administrator Email     : haohappy@gmail.com3. Channel Administrator Password : 123456
1-6, 'all', 'abort', or Enter to continue: 4
temporary path to save uploaded releases in [] : /websites/pear/upload
1. PEAR Configuration File Location                                 : /root/.pearrc
2. Path to document root of web server for pear.phpeye.com         : /websites/pear
3. name of frontend.php HTML admin frontend file                   : frontend.php
4. temporary path to save uploaded releases in                      : /websites/pear/upload
5. port clients should connect to (443 is SSL, 80 is regular HTTP) : 80
6. protocol clients should use to connect (http or https)          : http

执行结果:
adding channel to local registry
Successfully created /websites/pear/frontend.php
Successfully created /websites/pear/pear_server.css
Enabling REST for channel pear.phpeye.com
Adding REST 1.0 and REST 1.1 to channel.xml
Saving Categories REST
Category Default
Saving All Maintainers REST
Saving Maintainer REST
Maintainer haohappy
Saving Package REST
Saving Category Package REST
Default
Install scripts complete                             
现在你可以通过http://pear.phpeye.com/frontend.php来管理你的PEAR频道。你可以创建类库的分类,创建类库,上传一个打包好的发布版本等等。

其他PHP程序员如何使用你的频道中的PEAR包呢?
首先要获取你的频道信息:
$ pear channel-discover pear.phpeye.com
这时,pear.phpeye.com这个频道就添加到你的本地了,你就可以直接安装该频道上的类库了。假设该频道中有一个名为HappyBear的类库,那么你可以用以下命令安装:
$ pear install HappyBear
就和安装PEAR官方网站上的类库一模一样。
  评论这张
 
阅读(397)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017