Professional PHP

PHP Programming, Web Development, PHP Advocacy and PHP Best Practices.
« Mouse problems with Safari 1.3 after using Expose
PHP versus ASP »

Installing PEAR Based Applications

April 19th, 2005

Ok, Greg Beaver’s work on channels has resurrected my interest in PEAR. I am interested in providing WACT on a PEAR channel and I’d like to better integrate WACT with some PEAR packages. My primary concern is over the installation implications.

I didn’t find a “powered by PEAR” section on the PEAR website. Can anyone recommend some large, widely deployed end user oriented applications based on PEAR? I want to try going through the installation process in some challenging environments. I’m just trying to get a feel for best practices and potential problems with installing PEAR and applications that depend on PEAR.

Filed Under

  • PHP

Related Posts

  • PEAR Channels
  • Improving Web Application Installation as a Security Imperative
  • un-PEAR-ing
  • Installing Web Applications
  • Zend Framework Webcast
You can leave a response, or trackback from your own site.

34 Responses to “Installing PEAR Based Applications”

  1. Krzysztof Kotowicz says:
    4/20/2005 at 12:28 am

    You could take a look at seagull – http://seagull.phpkitchen.com and Horde Project – http://www.horde.org . Both projects (the latter provides many projects build againts the same framework). Seagull for sure is available as the PEAR package – thats one of installation options.

  2. ryan king says:
    4/20/2005 at 2:13 am

    If you’re looking for applications that are installed by PEAR, don’t look too hard. Up until 1.4, there wasn’t really any way to deal with application code in PEAR packages.

    As for applications that depend on PEAR, the first that comes to mind is s9y.

  3. admin says:
    4/20/2005 at 6:26 am

    Thanks, I am looking for applications that depend on PEAR.

  4. Paul M. Jones says:
    4/20/2005 at 6:29 am

    Yawp is a foundation composed of PEAR components with some glue to make them interoperate. http://phpyawp.com/

    YaWiki is based on Yawp. http://yawiki.com/

    Hope this helps.

  5. Paul M. Jones says:
    4/20/2005 at 6:37 am

    Incidentally, kind of funny that the idea of have a channel separate from PEAR is what has “ressurected [your] interest” in it. That we can have the benefits of the PEAR installer without the rest of the PEAR repository is, I think, a Very Good Thing. Perhaps PEAR Group should start thinking about being, not a code repository first, but a standards body first.

  6. boots says:
    4/20/2005 at 8:29 pm

    Paul M. Jones, that’s a very astute comment and echos my own thinking. Too bad the installer isn’t called pear-get.

  7. Lukas says:
    4/21/2005 at 9:34 am

    I am also currently pondering how to best make my framework installable via the 1.4 installer. I currently bundle all PEAR code in my own library dir mainly so that I have more control over the code. This allows me to add ugly hacks or bug fixes when I need them rather than having to wait for the developer to fix and release. It also helps me circumvent any BC breaks that happen by accident now and then.

    Now I really dont know how to best address this issue now. I could have a channel with my fixed packages and ask anyone who uses my framework to put my channel infront of the pear channel. This would let me then add fixed releases to my repository (probably using a fourth number as the version number, since PEAR regulations specify that only 3 numbers are allowed in a version name). But from then on no PEAR release is seen anymore .. right?

    Is there a way to teach the pear installer that all I am releasing are fixed up versions of packages from another channel and that higher version numbers from the original repository get preference? That way if BC breaks or some other issues does occur I could quickly follow up with another release, but this is not really a good solution either. So I would probably just ver tightly specify my dependencies like works only with version 1.2.3.x (where .x can be omitted or where x denotes a number).

  8. Greg Beaver says:
    4/21/2005 at 3:53 pm

    Lukas:

    There is no secure way to allow channels to mimic other channels.

    The best way to provide patched packages is to put them up as a static download and have the users pear install http://blah.example.com/Package-1.2.3.4.tgz

    However, you can avoid the upgrade-breaking-BC issues via the tag in dependencies.

    Of course, I am always eager to hear of new situations that can’t be solved by existing solutions, and will ponder this one. This is why PEAR 1.4.0 is still alpha even though the code is stable :)

  9. admin says:
    4/21/2005 at 5:13 pm

    Very good points about alternate package versions. I had not considered this issue at all.

  10. Paul M. Jones says:
    4/21/2005 at 7:14 pm

    Boots — that’s a very “apt” name. ;-)

  11. Demian Turner says:
    4/23/2005 at 12:10 pm

    Hi Jeff, am coming a bit late to your post. I disagree with Ryan King’s comment above, the PEAR installer prior to the current 1.4 version is perfectly capable of installing complex web apps, we’ve used it for Seagull for some time, taking inspiration from Greg’s own phpDocumentor which reveals many useful clues.

    The main one is that you have to set data_dir to your web document root, so your app files are installed there, and calls to PEAR and other libs are made out to their default location, eg, /usr/local/lib/php. We’ve also modified some PEAR packages for our purposes, but have chosen to only override where these mods were necessary, so upgrades are quite seamless. Eg, we override the mysql driver for PEAR::DB, and use an installer hack to place the file ‘mysql_SGL.php’ in the same directory, so a small change to the dns loads our driver.

    Looking forward, Greg’s implementation of subpackages, not very documented atm, is the perfect tool to allow a framework to load and install arbitrary modules or components (not libs). We’ve identified a few probs (such as the hard-coded calls to HTML_Template_IT in PEAR_Frontend_Web) but hope to be solving these soon, maybe even use a few WACT components :-)

  12. a4828183 says:
    11/4/2011 at 8:45 pm

    I’ve said that least 4828183 times. The problem this like that is they are just too compilcated for the average bird, if you know what I mean

  13. Zachary Stockholm says:
    11/6/2011 at 3:25 pm

    good post

  14. Ronald Angione says:
    11/7/2011 at 3:33 am

    very direct

  15. Black Friday Britax Marathon 70 says:
    11/7/2011 at 6:56 pm

    I’d ought to sit down with you here. that is not one thing I usually do! I enjoy reading a post which will create folks suppose. Also, thanks for permitting me to comment!

  16. 775highbench says:
    11/8/2011 at 12:46 am

    As I website possessor I’m certain the content matter here is rattling cracking, treasure for some reason for your efforts. You should hold it up forever! Good of fortune.

  17. Dewitt Monegro says:
    11/8/2011 at 11:21 pm

    nicely written

  18. a keyword research says:
    11/8/2011 at 11:39 pm

    I’d have to discuss with you here. that isn’t something I sometimes do! I relish reading a post which will build people assume. Also, thanks for allowing me to comment!

  19. hotplate says:
    11/9/2011 at 7:08 pm

    To purchase online. This item has been discounted at this link.| Black Friday Deals Corsair CA-HS1NA Gaming Audio Series HS1 USB Gaming Headset | Audio Headset Black Friday

  20. alphaglobaltrade says:
    11/9/2011 at 10:23 pm

    hello, i real ran across your blog via bing. also i am truly delighted i institute your website. thank you.

  21. Mariam Castonguay says:
    11/10/2011 at 8:11 pm

    very topical

  22. Online Shopping Black Friday says:
    11/10/2011 at 9:23 pm

    After research a number of of the blog posts on your web site currently, and that i really like your manner of blogging. I bookmarked it to my bookmark web site record and can be checking once more soon. Pls strive my website online likewise and let me know what you think that.

  23. Jenae Zuver says:
    11/12/2011 at 2:31 am

    great info

  24. Replace Laptop Screen says:
    11/12/2011 at 5:07 am

    I was betting on the net for a few info since yesterday night and that i at long last found what i used to be looking for! this is often a powerful web site by the way, but it is slightly onerous to check from my verison phone.

  25. Larry Gressler says:
    11/12/2011 at 1:16 pm

    wonderful

  26. buy model decoration says:
    11/14/2011 at 12:58 am

    Blog content is very good and I will come back to read it as an encouragement to the other

  27. Hyon Ghelfi says:
    11/15/2011 at 5:08 am

    I believe this site holds very superb indited content content.

  28. Elaina Villao says:
    11/16/2011 at 5:30 pm

    a useful and useful however of info

  29. Gasvergleich Rechner online says:
    11/17/2011 at 12:56 am

    This is an extremely interesting article. I’ll bookmark me

  30. Florencio Acy says:
    11/20/2011 at 6:36 am

    a concise piece of writing

  31. hair oil says:
    11/28/2011 at 12:39 am

    I really like what you guys are normally up too. This sort of clever function and reporting! Maintain up the fantastic works guys I’ve incorporated you guys to my own blogroll.

  32. womens ugg desoto boots says:
    11/29/2011 at 9:08 pm

    strongzz whoah this blog is great i love reading your articles. Keep up the good work! You know, lots of people are hunting around for this information, you could aid them greatly.

  33. Breanne Fry says:
    12/10/2011 at 2:17 am

    This report provides the light in which we can observe the reality. This is exceptionally nice one particular and gives in-depth information.

  34. atomboygame says:
    1/9/2012 at 6:22 am

    hello, i impartial discovered your web section by means of yahoo and i’m truly glad i establish your website. thank you.

Leave a Reply

Click here to cancel reply.

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

code: use [code=php][/code].

Comment Preview

    Subscribe Feed
    Share Subscribe to this blog…
    Share Bookmark or share this page…
  • About

    My name is Jeff Moore. I'm a PHP programmer living in San Francico and working for a startup.

    More about me…

  • Categories (Home)

    • Agile Methods (14)
    • Mac (14)
    • Misc (18)
    • Open Source (14)
    • PHP (99)
    • Software Design (29)
    • Usability (14)
    • Web Design (20)
  • Recent Comments

    • Why PHP is easier to learn than Java  51
      Brant Chamorro, Jay Marry, Jutta Trudel [...]
    • On the Perils of Inline API Documentation  16
      Glen Hollinger, Newton Boudoin, Chaussre Air Jordan [...]
    • un-Friendster: fired for blogging  5
      Un Hawse, Jim Skomo, Analisa Niccum [...]
    • PHP Book sales trends versus Java and Ruby  7
      Rosann Frederick, Glenn Leffingwell, byb bye blemish [...]
    • Let Your Properties be Properties  17
      Lupita Ziler, Lawrence Constanzo, nail dryer [...]
    • Upgraded to WordPress 1.2  3
      Laurence Morda, Ike Mcleish, Vilma Babers
    • PHP Coding Standards  12
      Twana Ventry, Luther Quelch, Rhett Ososki [...]
    • Commercial Zend versus Open Source PHP  11
      Loria Brendel, Billie Areola, Hans Stremmel [...]
    • A WordPress bug fix  7
      Malcolm Kinnon, Maximo Caoagdan, Kali Giesbrecht [...]
    • The PHP scalability saga continues  17
      Cameron Borah, Monty Gucciardo, Freddie Leaton [...]
  • Recent Posts

    • Richard Thomas
    • ZendCon: Writing Maintainable PHP Code
    • Looking Towards the Cloud
    • Holiday Tech Support
    • Closures are coming to PHP
    • php | tek Wrapup
    • php | tek 2008
    • Sarah Snow Stever
    • Benchmarking PHP’s Magic Methods
    • The Endpoints of the Scale of Stupidity on Video
  • Site

    • Archives
    • Log in
  • Search