Archive

Posts Tagged ‘Web development’

Alan Seiden Consulting: PHP and IBM i Expertise › How to prevent Easycom from loading

February 18th, 2013 Comments off

Several clients have asked me how to prevent their older Easycom components from loading, now that they’ve migrated from the Easycom toolkit to the new open source IBM i Zend toolkit.

Here are instructions based on suggestions from Rod Flohr of Zend Support. These tips have worked for me on Zend Server 5.6 for IBM i and will probably work on older releases as well.

Prevent Easycom extension from being loaded by PHP

1. Go to the Zend Server administration interface in your browser: http://yourIBMi:10088/ZendServer/.

2. Navigate to the Server Setup -> Extensions tab.

3. Find Easycom on the list of extensions. If the extension is On, click the “Turn off” link on the same line to turn it off.

4. You should see this message: “The extension ‘Easycom’ will be turned off after restarting your PHP”. You don’t need to restart PHP now if you plan to do so later, at the end of “Prevent I5_COMD daemon…” (below).

5. Also look for an extension called ‘pdo_easycom,’ which you may see if you had downloaded or purchased the Easycom product directly from the vendor. If it is there, turn it off as well.

Prevent I5_COMD daemon from starting in ZENDSVR

If you see a job named I5_COMD running in the ZENDSVR subsystem, but no longer use the Easycom toolkit, you may wish to follow these steps:

STEP 1: Rename the startup program that launches I5_COMD. From a 5250 command line:

RNMOBJ OBJ(ZENDSVR/ZCCSTREACD) OBJTYPE(*PGM) NEWOBJ(ZCCSTREACX)

This renaming will “hide” I5_COMD’s startup program from Zend Server’s startup procedure. (Don’t worry—the “missing object” message is monitored—no errors.)

STEP 2: Stop and start Zend Server from the menu. From a 5250 command line:

GO ZENDSVR/ZSVMENU

Use option “2. Stop Zend Server Subsystem”

Verify that subsystem ZENDSVR has ended and that there are no jobs named ZENDSVR in the QHTTPSVR subsystem.

Next, use option “1. Start Zend Server Subsystem.”

Verify that subsystem QHTTPSVR is running and contains the usual ZENDSVR jobs. Verify that subsystem ZENDSVR is started, but without I5_COMD inside.


Read the original at Alan Seiden Consulting: PHP and IBM i Expertise.

Alan Seiden's PHP and IBM i Resources › Which version of Zend Server for IBM i do I have?

April 18th, 2012 Comments off

Here is the easiest way to determine which version of Zend Server is installed on a given IBM i system.

From a 5250 command line, follow these four steps:

1. GO LICPGM
2. Take option 10 (Display installed licensed programs)
3. Scroll down to the licensed program 2ZSVRPI 
     (on my system it's the last entry)
4. Read the product description,
     containing version numbers for Zend Server and PHP
     in the form "Zend Server for IBM i [version] ( PHP [version])"

On my IBM i, I see:
2ZSVRPI   *INSTALLED   Zend Server for IBM i 5.6.0 ( PHP 5.3 )
so Zend Server is at 5.6.0 and PHP is 5.3.

Thanks to Zend’s Sam Pinkhasov for this tip.


Read the original at Alan Seiden's PHP and IBM i Resources.

Alan Seiden's PHP and IBM i Resources › Toolkit webcast tomorrow, April 5

April 4th, 2012 Comments off

Tomorrow I’m presenting a new webcast, New PHP Toolkit from Zend and IBM: Open Source on IBM i, as part of System i Network’s free “Virtual Conference.”

Date: Thursday, April 5
Time: 11:15am ET
Registration (free): http://tinyurl.com/new-toolkit-20120405

Other presentations in the virtual conference include Jon Paris explaining why PHP is an excellent strategic choice on IBM i, two talks on mobile technology, and more.

I invite you to watch the webcast, ask questions, and learn more about the new toolkit.


Read the original at Alan Seiden's PHP and IBM i Resources.

Alan Seiden's PHP and IBM i Resources › Web performance webinar today

March 29th, 2012 Comments off

Hope you can join me for “Web performance first aid,” a webcast for the COMMON user group. The webcast will be recorded and archived for future listenings as well.

The webcast is for COMMON members, so anyone wanting to hear it needs to join COMMON.

I based the presentation on my consulting practice that helps ensure high performance for PHP and Zend Framework applications on IBM i. Good performance is critical for customer acceptance of web sites and mobile applications.

Webcast link: http://www.common.org/index.php/webcasts/upcoming-webcasts.html

Anyone wishing to see just the slides can do that on my site: http://alanseiden.com/presentations and look for “Web performance first aid.”


Read the original at Alan Seiden's PHP and IBM i Resources.

Alan Seiden's PHP and IBM i Resources › PHP performance tip: disable unused extensions with Zend Server

August 8th, 2011 Comments off

Whenever I’m brought in to improve the performance of a PHP application, an easy change I make is to disable any PHP extensions that the application does not use. PHP extensions are code libraries written in C that add to PHP’s native functionality. Examples of popular extensions on IBM i are ibm_db2 and curl.

Boost performance by disabling unneeded extensions

I’ve noticed that Zend Server ships with most extensions enabled, presumably so that developers won’t have to see “extension not enabled” error messages. While the default configuration is fine as a starting point, developers should understand that each extension requires memory when loaded. When every bit of performance counts, it’s best to disable the unused extensions. Note: don’t disable anything till you read Several Extensions to Keep Enabled.

Managing PHP extensions

To manage extensions, Zend Server provides the “Server Setup / Extensions” tab. Each extension can be enabled or disabled with its “Turn on” or “Turn off” links. Changes do not take effect until the “Restart PHP” button is clicked.

Zend Server PHP extensions management page

Zend Server's Extensions page where PHP extensions are managed

Storage location for extension settings

Zend Server stores extension settings in a set of .INI files, one file per extension. On IBM i, the files are located in /usr/local/ZendSvr/etc/conf.d. Before making large-scale changes, you may wish to back up this folder. Then, if you discover you were overzealous in disabling extensions, you can compare the contents of conf.d with your backup to find out where you went wrong.

Several extensions to keep enabled

In addition to whatever extensions are required by a given application, I’ve found that several extensions are required by Zend Server itself. Do not disable these. So far, I’ve found that Zend Server requires these extensions to be enabled:

  • ctype
  • iconv
  • json
  • pdo_mysql
  • simplexml (used by new open source toolkit)
  • zip

If you accidentally disable an extension required by Zend Server, which you’ll discover when Zend Server fails to start properly, you must re-enable the extension in the correct .INI file and then restart Zend Server from a command line or menu. On IBM i, the command is STRTCPSVR SERVER(*HTTP) RESTART(*HTTP) HTTPSVR(ZENDSVR).

More performance tips to come

I plan to write about more techniques to improve PHP application performance, particularly on IBM i, that I’ve found to be effective in my consulting experience. Performance is a critical part of user experience that developers should not ignore. In addition to this practical need for good performance, I can speak for myself, at least, in saying I feel great satisfaction when I can take a slow application (sometimes the victim of an underpowered server) and, step by step, help it run faster and faster, till the performance is at least acceptable and sometimes quite fast. More to come.


Read the original at Alan Seiden's PHP and IBM i Resources.