TechTip: Running PHP Scripts - Zend Server

  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

We looked at WAMP/MAMP/LAMP and how they can quickly and cheaply give you the ability to run the PHP scripts that you develop on your PC. But other options are available.

Even though MAMP and its two amigos do a good job of letting you run your PHP scripts, there are other, more sophisticated ways to do this. And the first thing that we will look at is using Zend Server to provide the server capability for you.

Zend Server, of course, is a product from Zend, the people who figuratively own PHP. Granted, you can't really "own" an open-source product, and the Zend version is one of a number of PHP distributions out there. In truth, however, the Zend version is the most common one in use, and while the ideas and code may come from the open-source community, Zend takes the lead in coordinating that effort, handling the voting on what goes in and providing a platform from which it can be distributed.

Zend Server Overview

Zend Server is really a number of tools in one, all of them designed to help you not only run your PHP scripts but control the packaging and updating of them as well. Specifically, Zend Server consists of the following components.

The first is the PHP Stack. This is the set of software that is required for a PHP instance to be set up and to run.

Obviously, this starts with the PHP language (can't say "compiler" since PHP is not a compiled language). Since Zend is the home of PHP, you never have to wait to get a new release of the software available, and once you get Zend Server installed, it is easy to download a new version of PHP. With MAMP, you would have to reload the entire product (which is not a huge deal).

It also includes the web server engine that you need to run server-side PHP code on your client-side PC. MAMP provides Apache, a very popular web server, but Zend Server provides not just Apache but also NGINX and IIS web servers. For someone like me, this is not a big deal, but for many more-serious PHP people, using one web server over another is very important, and with Zend Server you get a choice.

The MAMP product runs on specific platforms with each having its own version as does Zend Server, which has the added plus of running natively on the IBM i. In addition, Zend Server also offers cloud options, including Amazon web services (in case you want to help them continue their takeover of Earth) or Microsoft Azure (in case you want something from the people who have brought us Windows).

A new development for Server is the addition of Z-Ray, a PHP script debugging and monitoring tool. We normally think of debugging in terms of writing the script and that is available in Zend Studio (the IDE portion of the product), but Z-Ray looks at debugging from a run side. What types of runtime errors occur? How is performance being handled? What are the bottlenecks in script execution? Etc. It gives you the ability to really look inside the apps you have written and improve them before you release them on an unsuspecting world.

One of the most significant things that Zend Server provides is integration with the various frameworks that are supported out of Zend Studio. We will talk more about these later, but they include both Zend Frameworks (1 and 2), Symfony, Laravel, plus access to things like WordPress, Magento, and Drupal. This translates directly into greater flexibility and sophistication in terms of what you can build.

And finally, it helps you with one of the most difficult tasks for a PHP environment: deploying new or updated applications. Remember, we may not be dealing with just an IBM i here; there may be a number of servers involved, and the process of making sure they are all updated properly can be a bit dicey.

Now I know this looks like a commercial for Zend Server but…well, I guess it actually is. I didn't start out to do that, but the simple fact is the Zend Server is a really, really solid and sophisticated tool, which naturally makes us think that it is expensive and has a steep learning curve. Not so. Keep reading.

Zend Server on Your PC

In our world, we always tend to think of Zend Server running on the i, but that is not how it has to be. Zend Server will run on Mac OS, Windows, or Linux just fine. So, if it is going to be a problem to get your management to buy into putting Zend on the i, you can always just download it to your PC and run from there.

What is the cost? Well, that is up to you. You can download a free version for the IBM i and use it indefinitely. You get support for the first year, which is nice because you might very well need it, but after that, you would need to get a license to have support. This is a special deal that IBM makes available through Zend, but like I said, this is only for Zend Server on the i.

If you are going to put Zend Server on your PC, then you will have to purchase it. The price is fairly low, probably like a couple hundred dollars a year, and for that you will get updates as they come along (including new releases) plus support.

And the learning curve? Well, there is a ton of stuff, sophisticated stuff, that you can do with the product. And learning it all may take a certain amount of time. But to just start the server up and run on it is very easy. So it will be up to you how much you want to know.

Downloading and Starting

To download Zend Server, go to almost any page on the site and there should be a link to do the download. Make sure you choose the platform you are downloading to (Mac OS, Linux, Windows, IBM i) and follow the instructions. It's not hard, so let's get going.

Once you have that puppy installed, then kicking it off is easy. Just click on the icon or whatever you have, and it will start all the necessary software, bring up a server browser screen, and direct you to the introductory page for Zend Server. From here, you can either run a script or choose one of the admin-oriented functions from the menu on the left side.


Figure 1: Getting started with Zend Server is easy!

From this point on, you are ready to roll, man. Yeah, lookin' sharp, baby.

And Your Point, Dave?

The point is, while MAMP is a very simple way to get up and running, using Zend Server is a step up. Contrary to what we might think, it does not necessarily require a capital expenditure and signatures from half the executive board. You can download to the i, and that is probably the way to go, but you can also just bring Zend Server onto your PC and run like the wind.

Well, to be honest, you may have to walk for a while first, but as long as you are wearing your own shoes, you should be good. Next month, on to Zend Studio.