Issue

Zend Server should start up at IPL by default.  This article describes how that happens, tells how to set up the autostart job entry if needed, and provides an alternate method using the Start Up Program (QSTRUPPGM system value) provided with the IBM i.

Environment

Zend Server running on any supported version of IBM i.

Resolution

The Zend Server installation will create an autostart job entry in subsystem QSYSWRK.  To verify this entry was created successfully, from a 5250 command line with a *SECOFR class profile:

DSPSBSD QSYSWRK

Use option "3. Autostart job entries".  Look for the "ZS_STR_SBS" entry (probably the last entry).  It should look like this:

For Zend Server 2020.x, 2021.x and higher:

ZS_STR_SBS       ZSVRIPLD          ZENDPHP74


If the entry is missing, please add it:

ADDAJE SBSD(QSYSWRK) JOB(ZS_STR_SBS) JOBD(ZENDPHP74/ZSVRIPLD) 


If the entry is there, but the ZENDPHP74 subsystem is not starting up correctly, there may be some timing issue.  If this is the case, you can sometimes just put the commands to start the ZENDSVR6 subsystem in the start up program defined by the QSTRUPPGM system value.

If the start up program defined is QSTRUPPGM is QSYS/QSTRUP you need to retrieve the source from it and make your own to make any changes.  This page in the IBM documentation tells how: Changing the IPL startup program


To start Zend Server from the start up program you can use this SBMJOB command:

SBMJOB     CMD(CALL PGM(ZENDPHP74/ZSTRSBS))  JOB(START_ZSV) JOBD(ZENDPHP74/ZSVR_JOBD)     JOBQ(QGPL/QBATCH)

If you do this, please remove the autostart job entry from QSYSWRK, to prevent any partial start up of the subsystem.

RMVAJE SBSD(QSYSWRK) JOB(ZS_STR_SBS)

If the ZENDPHP74 subsystem is starting up OK, but the ZENDPHP74 Apache job is not starting in subsystem QHTTPSVR, you may leave the autostart job entry in QSYSWRK, and just use this command in your start up program to start Apache:

STRTCPSVR SERVER(*HTTP) HTTPSVR(ZENDPHP74)

For Zend Server 9.1.x, 2018.x and 2019.x

ZS_STR_SBS       ZSVRIPLD          ZENDPHP7


If the entry is missing, please add it:

ADDAJE SBSD(QSYSWRK) JOB(ZS_STR_SBS) JOBD(ZENDPHP7/ZSVRIPLD) 


If the entry is there, but the ZENDPHP7 subsystem is not starting up correctly, there may be some timing issue.  If this is the case, you can sometimes just put the commands to start the ZENDPHP7 subsystem in the start up program defined by the QSTRUPPGM system value.

If the start up program defined is QSTRUPPGM is QSYS/QSTRUP you need to retrieve the source from it and make your own to make any changes.  This page in the IBM documentation tells how: Changing the IPL startup program


To start Zend Server from the start up program you can use this SBMJOB command:

SBMJOB     CMD(CALL PGM(ZENDPHP7/ZSTRSBS))  JOB(START_ZSV) JOBD(ZENDPHP7/ZSVR_JOBD)     JOBQ(QGPL/QBATCH)

If you do this, please remove the autostart job entry from QSYSWRK, to prevent any partial start up of the subsystem.

RMVAJE SBSD(QSYSWRK) JOB(ZS_STR_SBS)

If the ZENDPHP7 subsystem is starting up OK, but the ZENDPHP7 Apache job is not starting in subsystem QHTTPSVR, you may leave the autostart job entry in QSYSWRK, and just use this command in your start up program to start Apache:

STRTCPSVR SERVER(*HTTP) HTTPSVR(ZENDPHP7)

For Zend Server 6 - 8.5.x

ZS_STR_SBS       ZSVRIPLD          ZENDSVR6


If this installation was migrated from Zend Server 5, the library will be ZENDSVR (no 6) instead of ZENDSVR6.  If this is the case, please delete and recreate the autostart job entry with the correct library, using these commands:


RMVAJE SBSD(QSYSWRK) JOB(ZS_STR_SBS)
ADDAJE SBSD(QSYSWRK) JOB(ZS_STR_SBS) JOBD(ZENDSVR6/ZSVRIPLD)

If the entry is missing, please add it:

ADDAJE SBSD(QSYSWRK) JOB(ZS_STR_SBS) JOBD(ZENDSVR6/ZSVRIPLD) 


If the entry is there, but the ZENDSVR6 subsystem is not starting up correctly, there may be some timing issue.  If this is the case, you can sometimes just put the commands to start the ZENDSVR6 subsystem in the start up program defined by the QSTRUPPGM system value.

If the start up program defined is QSTRUPPGM is QSYS/QSTRUP you need to retrieve the source from it and make your own to make any changes.  This page in the IBM documentation tells how: Changing the IPL startup program


To start Zend Server from the start up program you can use this SBMJOB command:

SBMJOB     CMD(CALL PGM(ZENDSVR6/ZSTRSBS))  JOB(START_ZSV) JOBD(ZENDSVR6/ZSVR_JOBD)     JOBQ(QGPL/QBATCH)

If you do this, please remove the autostart job entry from QSYSWRK, to prevent any partial start up of the subsystem.

RMVAJE SBSD(QSYSWRK) JOB(ZS_STR_SBS)

If the ZENDSVR6 subsystem is starting up OK, but the ZENDSVR6 Apache job is not starting in subsystem QHTTPSVR, you may leave the autostart job entry in QSYSWRK, and just use this command in your start up program to start Apache:

STRTCPSVR SERVER(*HTTP) HTTPSVR(ZENDSVR6)