Thursday, March 17, 2011

Interview with the ElePHPant




Many of you may have seen or heard of the PHP elePHPant. He has been making the rounds to different events around North America and is looking forward to another exciting year of visiting different parts of the country and the world to meet & greet the PHP faithful wherever they are playing.

This entry is a very special edition where we get an exclusive interview with “the” PHP elePHPant! Many of your questions about this mysterious creature can be answered here finally and for the first time. We are very lucky to have bumped into the elePHPant at an event in Texas. Here is his story.



Mike: You have been reclusive and it seems that last year you came out of hiding to meet folks around the world who are doing PHP. What is your background and where do you hail from?
ElePHPant: It is really very boring story, but if you insist, I was born in Kenya. Although there are many who wish to dispute that. After growing up with a couple of my siblings I got the itch to move beyond the limitations of the African continent and started traveling the world.

Mike: So great to hear about where you came from, where do you call home today?

ElePHPant: Today I live in suburban Chicago. It is a great town for pachyderms and other wild life because there is very little that impresses the typical Chicagoan. Looking forward to the new mayor as some say he used to work for an ex-Kenyan.

Mike: You mentioned that you have siblings. Have we seen any of them?

ElePHPant: My brother is mascot for Republican party and since I live in Chicago he doesn’t come by to visit very much. Nice guy but ironically he can be a bit of an ass! Some years ago my sister got hooked up with some bad folks back in the old country and ended up doing taxi work in India, got a small family, etc.

Mike: I hear you’ve been sighted all over the states: Orlando, San Antonio, San Jose and Chicago.

ElePHPhant: Yeah it’s been great. Although I fly SW and they get a little cranky when I take up two seats. I am an elephant for heaven sake. What are they thinking? With a little luck I will get to Minneapolis, St Petersburg and possibly Europe. But those long flights in coach can really be a challenge.
Mike: Why do you fly SW, someone with your notoriety should be able to get 1st class on a major carrier.
ElePHPant: Two words: Free Peanuts!

Mike: I guess that makes sense…How did you ever get connected with PHP?

ElePHPant: Well, to make a long story short, I just couldn’t get my trunk around Java. I bumped into a couple penguins while vacationing in Madagascar. They were talking about how their guy Rico was able to throw up a web site with no cash and serve up some content for their “clients.” I chatted them up and they were happy to share a little, but they were rather cagey about the specifics of their content. Then I turned around and they were gone. They struck me as really nice fellas, but a bit paranoid. Later, this guy in France saw me on IRC and asked me if I’d mind posing. Then this hits the street and the rest they say is history!

Mike: So I have seen you at a couple of shows, most notable the IBM conference called COMMON and the PHP tek conference in Chicago. While you are obviously a huge fan of PHP I see you have a Zend cape. Does that get you into trouble with the PHP community who may not look favorably on a commercial endorsement?

ElePHPant: Look, I’m not looking to piss off anyone but I got my own family to feed. Work has been tough lately and as you can guess, my grocery bill isn’t exactly small. I used to compile my own binaries and stack. It was pretty cool to optimize everything EXACTLY as I liked it. But, after a while, the maintenance got a little old. I was more interested in the development of apps and the constant changes to PHP for security and other reasons was a real hassle. Then a guy turned me on the Zend Server CE and I became a fan. It has just about everything I want and now a local shlub at the customer site can maintain the server and I can focus on developing apps. That’s just how I roll these days and would not deny anyone the opportunity to experience building the stack from scratch. But I’ve ben there and done that so it’s time for me to move on.

Mike: So do you use Zend Server CE exclusively or are you using some of the supported features of the full Zend Server product?

ElePHPant: It really depends on the client. Sure there are a lot of cheap companies out there and they know I’ll work for peanuts. But then they find out just how many peanuts I need and they change their tune pretty quick! I show them the advanced features and set up a demo with Ed or Mike at Zend. They really do all the heavy lifting as far as showing the solution. But the real benefit is the ROI. Having access to Code Tracing means I can get home at night and tuck in the little ones rather than calling on my cell phone, yet again, to wish them goodnight! Keeps the Mrs. Happy, too. Have you ever seen an overworked female elephant with an attitude? It’s not pretty. You know the old saying, if big momma isn’t happy, ain’t NOBODY happy! Zend Server helps me code in PHP all day, get home at night, and I can still play on other side jobs with the same distribution whether it is full Zend Server or CE! Consistency is key!

Mike: But what’s with the cape? I mean, did Zend pay for you to have a little space on your…ahem…back for advertising?

ElePHPant: Listen, that cape is symbolic as it really implies that I can fly. And, with the bytecode, data and page caching features of Zend Server my sites fly. There is no formal agreement with Zend but when I’m in the Zend office they have these really cool macadamia’s they fly in from Honolulu and I’ll do just about anything for those! I’m such a tramp!

Mike: Well I want to thank you for the time you spent with us today. If you had one thing you would like to share with the masses about PHP, what would that be?

ElePHPant: Just do it! PHP is pretty hot right now. Sure there are plenty of Java bigots out there who feel the need to slam PHP, but at the end of the day you just need to play and then decide for yourself. One third of the internet running on PHP and 1.7% of the Internet sites worldwide running Drupal is kind of hard to sneeze at. Although, when I sneeze, folks do take notice…

Friday, February 18, 2011

Confessions of a PHP advocate: Hey Java, I’m sorry if I hurt your feelings…

This article looks at what several members of the PHP community are up to, and more...

Is PHP ready for enterprise? I say yes but why not let the community answer and vote with their feet! People have been using PHP as a programming language for several years to manage content and now mission critical data entry applications. People in various technology religions tend to focus on a single point in an effort to attack a technology. That’s OK as people with a limited perspective should be allowed to focus. The point of this blog article is to broaden the perspective of all developers and essentially say, use what you feel is the correct technology that applies to your application. If PHP is a strong candidate then great! If Java makes more sense for you because of your current shop skill sets then have at it. Ultimately, it is nice to know we have choices.

I won’t engage directly into the religious wars of Java and PHP but I am guilty of playfully poking at other technologies. I have been accused of disparaging Java in a few forums. Obviously these folks don’t know me very well because I disparage all languages simply because each language has its own strengths and weaknesses. In my presentations I am certainly guilty of having fun at the expense of Java, RPG, and COBOL. I have even taken a shot at Paschal, FORTAN and PL1. I kind of liken my playfulness with programming technologies as Mel Brooks tends to poke at nationalities. I have a healthy respect for Java and please keep in mind that our workbench Zend Studio is Java based (Eclipse is a Java project) If I offend anyone that is not my intention and I apologize. But my method of communication is doubtful to change any time soon.

With regard to some recent forum posts about dynamic vs. static typing, please use your own judgment. If you were not aware of a “pro-PHP” perspective on the topic, please check out this posting from a prominent member of the PHP community and very good friend Kevin Schroeder. Kevin's blog article explores what he views are the myths and misconceptions many folks have when comparing strongly typed languages vs. dynamically typed languaes. i encourage folks to review it before taking an extreme perspective, one way or the other. After all, 1/3rd of the internet would not be running on PHP if it sucked and would roughly 7 of the top 10 internet sites by WWW traffic be running PHP?

What I will comment on is the diversity in the community as PHP continues to grow its following. If you happen to check out some of our recently released Case Studies then you can see that some folks are taking more than a passing interest in PHP. Corvette America and Value Drug Mart widens the perspective of some long time PHP advocates for IBM i like Allied Beverages and Aarowcast.

And furthermore, there are these crazy guys at iDevCloud! I have known Jim Oberholtzer and Larry Bolhuis for some time and their latest escapade has really struck a note. iDevCloud is all about making IBM i affordable to those who need a place to develop or learn but can’t afford their own box. Jim and Larry are world renowned for cleverly assembling IBM i hardware and software to suit their needs and sharing those precious resources with folks looking to learn more about IBM i. Zend has partnered with iDevCloud to provide the full version of Zend Server for each of their environments so that folks looking to learn PHP on IBM i not only have the environment, but also the best tools for developing PHP applications. Jim has reported that the overwhelming majority of the customers using iDevCloud have purchased a contract so that they could learn PHP! This is huge!

Furthermore, Jim has written the management of the iDevCloud site in a PHP framework known as Zend Framework (ZF) and it is running 100% on IBM i. If anyone tells you that something cannot run on IBM i, please send them my way. I tend to believe that anything is possible, although something just may not be practical like running a VB application on IBM i. But I digress. Jim is in the process of developing content for a series of presentations where he will be talking more about the MVC architecture of ZF and PHP for IBM i developers. This is a good thing as many IBM i shops want to use ZF but struggle on basic concepts and where to get started. Zend offers training, of course, but assumes you have a solid foundation in Object Oriented principles. This creates a bit of a gap as most RPG and COBOL developers have a procedural background and have avoided OO for years. Jim along with several other folks in the community are looking to close that gap and enable RPG and COBOL programmers with the tools and concepts to adopt all kinds of PHP concepts.

Yes, having a choice is a nice thing!

Friday, January 7, 2011

Patches? We don need no Stinkin' Patches!

Well, if you are familiar with that famous scene from the “Treasure of the Sierra Madre” you probably have an idea where I am going…

I am having a little fun here with my reference to this classic film and the recent PHP hotfix that was developed to address a processor exploit. The truth is that all systems need patches sooner or later. Some operating systems need them more than others and release them on a weekly basis. Others batch them up and say come and get them when you are ready. But as we know, on the IBM i things are a little bit different.

First, let’s explore what happened. On the Zend website you can read an article that describes the issue. Essentially there was a flaw in the floating point conversion of the Zend Engine that when running on some processors that could cause a site to seize up. As an organization, Zend R&D and several other groups within the company jumped in and deployed the patch in a mere 24 hours from the point of diagnosis. Not bad if you are looking for enterprise support for PHP, I’d say. Here is the important thing, who was exposed? This article goes on to talk about the architectures that were not impacted. Those include Intel 64-bit Linux, MAC OSX and IBM i. So why was IBM i safe? Simply put, Power PC!

People who get embroiled in the religious wars over platforms tend to lose sight of the significant value proposition that we enjoy simply because we run on another processor. Does that mean the PowerPC is without flaws? Hardly. But it does mean that we enjoy a little security through obscurity. Hackers and exploiters are simply not attacking PowerPC. Why? Well probably for the same reason you don’t see too much in the trade press about it. Power PC is powering the Power systems at IBM and some game station like Wii, Xbox, PS3/PS4, etc. so the folks who have a Power System are using it for business, and the gamers are hacking their boxes to load Linux on a 64-bit architecture. Woohoo! We’re safe on this one!

But, enjoying the wonderful safety of IBM i does not mean we should sit back and expect that “Murphy” will never come knocking. The reality is that the IBM i has one of the best “patching” processes in the industry and the fact that most IBM i developers have no clue about it lends itself to significant credibility as most of you simply do not HAVE to know about it. So after talking to so many of you I figured I summarize some of the recent discussion point about PTF’s and Zend as a bit of a refresher. For an in depth discussion on PTF strategy, I would highly recommend Larry “Dr. Franken” Bolhuis' presentation “Managing IBM i PTF’s” at COMMON or a local user group near you! Here are two slides he donated to this blog for your consideration!






First, a refresher on how and where Zend Server runs on IBM i. There are two major worlds that comprise the IBM i Zend Server universe. The first is the IBM HTTP Server Powered by Apache and the second is PASE (Portable Application Solution Environment). Ideally your system manager should have a strategy in place for keeping current with Cumulative and Group PTF’s. If that is the case then you should be good to go. If not, get some religion NOW and some help if you need it. Either way, please read on!

Starting with the Apache server I would direct your attention to the group PTF for HTTP for your respective OS version. It is easy to determine where you are on this food chain as IBM has created a one stop shop to see your current status. Simply run the WRKPTFGRP command from the green screen and press F11 to see the descriptions for the group PTF’s that are currently installed. If, per chance, you run the command and see nothing, there is a very good possibility that you have no group or cumulative PTF’s installed or applied. Need I say more to you about that? I think not. If you have groups installed you should be able to navigate around the screen to see the current level. Find that current level and then head to the IBM website for Fix Central. This page contains a VERY valuable link for current group PTF levels. Compare your level to the IBM level to get a “feel” for how far off you are.

I am pleased that most of my customers tell me they are either current or only a level or two behind. Every once in a while, though, I get someone who cannot install Zend Server and when I ask about their PTF levels they will respond “What’s a PTF?” I walk them through the steps identified above and we discover a lot!

So why do I need PTF’s to implement Zend Server on IBM i? Well, the word “need” is a relative term. When Zend revised the stack from Zend Core to Zend Server on IBM i, several changes were implemented to address a number of customer requirements. Most notable was the dual Apache configuration of Zend Core. To achieve a better performance model and reduce the Apache servers to a manageable ONE, IBM and Zend collaborated on delivering Fast CGI as a method for deploying PHP on IBM i. FastCGI is an open source approach to work with Apache servers and since IBM essentially OWNS the Apache server on IBM i, they have graciously built and provided the FastCGI infrastructure with significant contributions from Zend. IBM implemented these changes as part of the base for i7.1 and via PTF’s for V5R4 and i6.1 as well as the interim releases.

Any company that implements new technology is going to have an aggressive update process. IBM is no stranger to this phenomenon so in order to ensure that you have the latest and greatest fixes and features for FastCGI you should keep current with the group for HTTP as well as your Cumulative PTF package and PASE.

Tuesday, December 14, 2010

If you think education is expensive, try ignorance!


Usually, I try to write about education in September. I missed that point so now it’s time to make up some ground and look back at 2010 and forward to 2011…


The title of this piece is probably one of my favorite bumper stickers. I have a soft spot for people learning a new technology. I for one know it is not easy as I had to battle my own complacency and really dig in to Linux based solutions this year. I still have a way to go but gaining ground! As a young veteran in the IT industry I found it hard to prioritize and focus. there is no forgiveness in the number of distractions we must contend with today. I have the unbelievable privilege of working with some of the smartest people on the planet and their patience has been a blessing. But this experience makes me realize every day the value proposition of PHP in the IBM i space and would not trade this job for the world!

2010 was a wonderful year. I have been VERY privileged and honored to present several PHP sessions at user groups across the country and even in Europe! But I also had the chance to present a bunch of sessions at both COMMON events, too. I’m going to take a brief look at where we all went in 2010 and try to prognosticate on where 2011 is headed.

The year started off well with the beta announcement of Zend Server for IBM i followed by the GA release in April and a West coast tour of user groups including PMSA, Cascade and Power SURG. Spring gave way to the annual COMMON Meeting and Expo in Orlando, a WAM East Coast tour (after a snow delay) and the traditional trek to the WMCPA conference. With the summer trip to MITEC and Irvine for the OCEAN conference under my belt I got caught up on LPAR’s and updates as I prepared for the fall events in San Antonio for COMMON, Omni and a trip to Ireland & England. I made some wonderful new friends at the Manchester event for Penton and at IBM’s South Bank in London. The highlight of the trip, however, was meeting the UK arm of the Zend Sales team who work in an office space leased inside the Guinness Brewery. What a hoot! Last week I saw the fine folks in St. Louis and talked PHP all day with hardly anyone running out of the room!

In my spare time I have tried to keep up with my family and the most aggressive schedule imaginable. My wife is the most awesome quarterback keeping us all moving the ball forward and I would be lost without her! But also I managed to teach a couple of classes in PHP at Moraine Valley Community College and for SystemiNetwork. Two things I plan to carry forward in 2011.
But then there is 2011.

What could be in the plans for Zend? Well, we have not completely baked it yet but there are some AWESOME product announcements coming. Kent Mitchell out Director of product Management gave a preview of Zend Server 6 at ZendCon with features like application activation that turns your PHP cluster into an iTunes like environment. But clusters are not available for IBM i, you say? Well how about an alternate PHP toolkit that gives full access to the OS with 100% Open Source code? In the words of the immortal Mark Shearer, Watch this space!


Events for 2011 you can certainly bank on are COMMON in Minneapolis in the Spring and St. Petersburg in the fall. I have just been accepted for a full day pre-conference workshop on PHP for the Spring COMMON and look forward to about 5-6 sessions too. I am cutting back on sessions as we are seeing real traction from community members like Alan Seiden, Brian May and Jeff Olen. These guys are not only PHP literate; they are in the trenches doing PHP every day! I challenge everyone to get out to some event or do some offline training or even consider presenting a session at your local user group. Pick something interesting, something fun. Challenge yourself. I don’t think you will be disappointed! Watch out for other in the community to offer ways to learn PHP on IBM i. The folks at iDevCloud are on the job and rocking out some really great opportunities.

2010 saw the birth and rebirth of iManifest. Jen Halverson has done an AWESOME job of helping “herd the cats” and her passion is immeasurable. I am glad she decided to join our team and offer HUGE assistance to a very necessary agenda.

We will continue to see product announcements and fixes and updates and more. PHP is not going away and neither am I! But some of my roles in the community will change as I need to focus on other things. More on that later.

I want to offer a hearty “thank you” to all of the folks who have welcomed me to their user groups. The IBM i community is a VERY special crowd and many of you have made me feel very much at home whether I travel near or far. It truly is a privilege meeting and speaking to the folks who love the IBM i as much as I do. And I look forward to meeting even more new friends in 2011.

In the spirit of the Holiday’s, I offer you all one wish:

Peace.

Friday, November 12, 2010

ZendCon 2010 - What a time!

ZendCon 2010 has come and gone. If you were there you saw some pretty cool things. If you were not there, why?

The IBM i track was well represented by some truly awesome speakers. Alison Butterill, Susan Gantner, Alan Seiden and Sam Pinkhasov all contributed to the usual cadre of PHP community speakers to make the overall experience well rounded and useful!

Each year I look forward to the IBM i evening customer networking event. This year we were able to hold it in one of the rooms at the hotel and this is a perfect opportunity to round up the IBM i customers in a central location where they can do the most important thing they can do at this event: COMMUNICATE. I think they all enjoyed it as we had to kick a few folks out of the room after last call. I think education is important but hearing what other IBM i customers are doing with PHP is of great value to everyone.

How about that ElePHPant!

One of the things I love to do with IBM customers is review any new features they are looking for in the Zend solution suite. This is important because we need to hear what you are up to and what you need to make the solution better for your organization. Just about everyone who has adopted Zend Server for IBM i would extol the virtues of better performance and a single Apache server. That came directly from the community. A highlight of Sam’s session had to do with a new toolkit that is being developed. We don’t have all the details yet, but it looks like it will add functionality and performance improvements over the existing i5 functions. More to come VERY soon!

The IBM i sessions are listed below and the slides should be available on JoinedIn for ZendCon2010 soon. Anyone looking for the handouts from the IBM i sessions, please check this out!
Web Services with PHP, Zend Framework and IBM i by Alan Seiden
PHP and IBM i by Alison Butteril
The MySQL - DB2 for i Connection by Susan Gantner
PHP for Batch Jobs on IBM i by Alan Seiden
What's New in Zend Server for IBM i by Sam Pinkhasov
Expanding IBM i Applications to the IFS Easily with PHP by Mike Pavlak



Start thinking about ZendCon 2011 now. I think you be just jazzed about joining us!

Monday, October 11, 2010

COMMON, LUG and Zend-Oh My!

Last week was a long one but exciting! First, flying out to San Antonio for the first annual COMMON fall conference and expo and then to the LUG in Rochester, MN.

COMMON was a very nice event where many new and veteran speakers joined together to welcome over 250 people to the Crowne Plaza hotel in San Antonio, TX. The facilities, expo and content seemed to fit just right.

The Zend booth saw a lot of traffic from current and future customers. Many people looking for alternatives to the current cadre of productivity tools and web solutions. PHP sessions were well attended, too. COMMON welcomed a new PHP speaker in Alan Seiden to share his perspective and he was well received. I hope to see Alan on stage at the Spring event for a “Best New Speaker” award. I have also heard that Alan had a good time himself! I think we’ll be seeing more of Alan! Looks like Alan made a new friend, too!



The location was a winner as many people found the time to run out to the Alamo and the Riverwalk to see some of the local culture and shopping. I decided to hide in my room and catch up on email but still managed to have a beer with an old friend who was kind enough to pick me up at the airport. (Thanks Paul!) There seemed to be a shortage of Shiner Bock in the bar, but each morning a new case or three was carried in. The hotel staff was great in assisting any last minute request.

Thanks to some fancy footwork by the folks behind the scenes at COMMON (thanks Ian!) I was able to squeeze all of my sessions into the first day and a half so I could join my CEO, Andi Gutmans at the LUG. For those who may not be aware, LUG stands for the Large User Group. This is an independent entity made up of organizations that represent some of IBM i’s largest installations. Usually only IBM speakers are welcome and they can be a very honest bunch. It is very rare that the LUG would welcome a vendor like Zend, let alone a lowly solutions consultant like me. But they must have liked what I had to say because they invited me back a couple of hours later for a demo of an install of Zend Server on IBM i. On top of a couple of great sessions I was asked to attend the LUG HUG which is an evening event where the LUG members get together for pizza and gather around tables like a Birds-of-a-Feather session. Met some more great people and had a great time.

I truly feel blessed to be able to speak to groups like these in my travels. Seeing the IBM i faithful exploring new options on our beloved platform is the best tonic for an aging soul. Working with customers who decide to stay on the platform or consolidate workload back on the platform is huge. But don’t tell my boss how much I like these events, he still thinks its work!



Wednesday, September 15, 2010

Updating Zend Framework on IBM i

Several IBM i customers have asked me about Zend Framework. Everything from should we adopt to how do we do it? I will talk about updating ZF in this piece but for a lack of sounding impertinent I have to reply to their inquiries about adoption with “It depends…”

It is no secret that the brass ring of PHP coders is framework based development. It’s not so much that Zend purports this approach as it is the community. The Zend Framework team has done an admirable job responding to the community with an enterprise grade solution. If you look at what solutions were around before Zend Framework you can easily see the need for such a solution. In its early stages, Zend Framework was created to address the plethora of frameworks that were being developed concurrently and were grossly incompatible. In other words, applications built with Cake would have to be modified in order to seamless integrate with Smarty. What’s even more concerning is the number of PHP developers out there who insist on creating their own framework for each company they work for. Since each company is different, they should get their own framework is the rationale. The reality is, however, a generic Framework that has attributes like modular design principles and a use at will architecture may very well be the right approach. But at which time? Many i5 shops are still kicking the tires of PHP and that’s OK. When they hear about Zend Framework they want to know more. I do not try to discourage folks from looking at Zend Framework, but do try to enlighten them as to the realities. And the reality is that you can use Zend Framework with just a cursory knowledge of PHP. But to understand Zend Framework you need a little more background in PHP and OOP. This is where RPG programmers get into trouble. Believe me, after 15 years developing RPG programs I too struggle with ZF and OOP. But that is because I feel I have to understand all the code before I use it. If you wait until you understand all of ZF before you use it, you may never get the chance to start taking advantage of its principles. So, let’s start in the beginning, updating your ZF implementation.

ZF upgrade process for IBM i

Zend Framework, the fabulously useful framework for building applications with PHP comes with Zend Server. But, the current version of Zend Server that installs on IBM i may not be as current as the version you wish to install. Or, maybe you would prefer to back-level the current version of ZF to be compliant with an applications requirement. Most users of the Zend Framework are far more interested in a more contemporary version of ZF as the development team is running fast and furious on new features. So, as there may be various ways to perform the update, the method identified here strikes me as the most efficient. As I try to maintain my position as one of the laziest programmers in New Lenox, techniques like this help me maintain a significant distraction rate while the computer does all of the heavy lifting! If you would like to share your favorite approach, please feel free to comment! This article will discus, in detail, the steps you can use to update the ZF library on your IBM i. In case you were wondering, this short snippet of ZF code can show you what version of ZF you have installed:
Let’s get a little housekeeping squared away. First, you will need to download the most current "stable" distribution from the ZF home page (http://www.zendframework.com/download/latest). As of this writing, 1.10.8 is stable. I chose 1.10.8 because I like things that are stable. That's why I am on an IBM i! If you prefer an older release you can check those out at the Zend Framework Archive . I brought this file down using the tar.gz option and not the .zip. I’ll explain why in a bit. You will also need all of the prerequisite License Programs as indicated by the Zend Server for IBM i Installation Guide available as a no-charge download at Zend.com. Last but not least, BACKUP YOUR WORK! Anyone who assumes all will be well with the universe when treading new ground has never met Murphy. As a ¼ Irishman I must acknowledge that little bugger and pay him his due. So, even a measly save file in QGPL is better than nothing. It sure wouldn’t hurt to dust off those operations skills and see if you can run the tape drive or at least make sure operations has backed up the IFS in the last few days (weeks, months, years?). The directory we will be messing with is ‘/usr/local/zend’ I would heartily recommend using the SAV command and saving that entire directory to a save file and then copying the save file somewhere. Tape is preferable; a network file share is OK too, as long as it gets backed up!


OK, with the housekeeping done I can climb down from my operations soap box and we can get busy. First you need the download file. This file can be brought down in either the windows .zip format or the Linux/Unix tar.gz. Since I am going to leverage the PASE environment to do my dirty work I chose the tar.gz format. But let’s explore what the heck that really means. Tar is a Unix command that stands for, believe it or not, Tape Archive. This is a method supported by nearly all Unix based systems and since PASE is an AIX runtime, it is no exception. PASE appears to fully supports the tar command and most of its options. Ok, that explains the .tar extension, but what the heck is the .gz mean to me? Ah, this is a little more interesting. In windows land we typically use a utility like PKZip to archive and compress all at the same time. In Unix land, we have two steps. I indicated that the tar command archives the files into a single tape file. The .gz stand for GNU-Zip which then compresses the file. So, since the file was archived first and then compressed, you need to do the reverse when opening up the files for access. As I indicated I like PKZip for getting rid of the .gz extension. Oh, and do not trust Windows to tell you the extension. You may need a DOS prompt to show you the real file name is: ZendFramework-1.10.8PL1.tar.gz.


So, chose your favorite PC based compression utility, open the GNU-Zip and extract the tar to a local directory. With the file in a local directory it is possible to FTP the file to a temporary directory like, /usr/local/zendsvr/share/ZFtemp on the i. That should be all you need your PC for! You can use an FTP utility if you like but I am still pretty comfortable with the command line options. Here is my script for FTP from the DOS prompt on my PC and I typically put things I need to FTP in a directory off C: called temp:

cd /usr/local/zendsvr/share/ZFtemp
lcd c:\temp

put ZendFramework-1.10.8.tar


With the file on the IFS we can now take advantage of the IBM i and let it rock through the rest of the process. So let’s rename the current ZF directory. It should be located in /usr/local/zendsvr/share/ and is called, simply enough, Zend Framework. From the i5 command line issue the WRKLNK command for the /usr/local/zendsvr/share/* directory and page down till you see Zend Framework. Take option 7 to rename the directory to something useful like ZendFramworkOldVersion or something like that. This technique may come in VERY handy should you need to back out the upgrade for any particular reason. Now take that temp directory and rename it to the proper Zend directory, or something you prefer.
From here you may start a PASE Shell by using the CL command CALL QP2TERM. This will start a PASE shell interface and any Unix command line loving geek out there will start to feel right at home since you are now, essentially, at an AIX command line interface. Remember that PASE is an AIX runtime so while it supports MANY AIX commands it may not necessarily support all of them. Check out the PASE command reference on the IBM website. From here, navigate to the directory where you wish to install Zend Framework. I chose the same directory it was already in so I would not have to adjust any hardcoded scripts or includes in the PHP.ini. The command would look something like cd /usr/local/zendsvr/share/ZendFramework and then issue the command to unzip the ZF file system. There are MANY files that make up ZF and to use netserver to do the drag and drop might be cumbersome. Ultimately, it’s up to you.

To unzip the file, or actually untar, the command is: tar -xvf ZendFramework-1.10.8PL1. let’s look at this command as it is a little different than your typically CL command. The –xvf represents switches that control the behavior of the command. x means extract the contents, v means give detailed messages about the extraction and f means the next parameter in the command is the file name of the archive. More information about tar can be found on the GNU website and also the manual .
Now that the unzip is complete there is only one step left to update the php.ini file. If you plan to use Zend Server for IBM i to load the path to the Zend Framework library, then update the path directive via the Zend Server Admin Interface. Log in to Zend Server and Navigate to the Server Setup tab and then the directives sub-tab. Click the twistie for Paths and Directories to reveal the php.ini directive for “include_path”. There should already be an entry for Zend Server in there. There is no change necessary as long as the new ZF files in the same directory. If another directory is selected, simply edit the value in the box to the right of the directive, click save changes and restart Zend Server. You are off to the races!