Issue
The Zend Server reset stops and restarts both the Zend Server subsystem and the ZENDPHP74 (ZENDPHP7 for Zend Server 9.1.x - 2019.x or ZENDSVR6 for Zend Server 8.5.x) Apache instance, as well as cleans up some IPC objects and other things.
This is a good procedure to perform if any Zend Server components are producing unexpected results.
Environment
Zend Server for IBM i version 6 or higher, running on any supported version of IBM i.
Resolution
Log into a 5250 session as QSECOFR. (The user MUST be QSECOFR to get UID zero, no other user has this UID, even a *SECOFR class user will not have it). From the command line:
For version 2020.0.x and higher
Use option "41. Reset Zend Server environment".
For version 9
...
.1.x, 2018.0.x and 2019.0.x
Use option "41. Reset Zend Server environment".
For version 6 - 8.5.x:
Use option "41. Reset Zend Server environment".
For version
...
5
Info |
---|
|
go zendsvr6zendsvr/zsmenu |
Use option "9. Reset Zend Server environment".
Wait for all of these messages to display:
Info |
---|
|
Stopping Zend Server jobs
Clearing shared memory ...
Zend Server environment is reset
All Zend Server jobs are restarted |
Use F3 to exit. After the reset, check to see that all Zend Server jobs have restarted. This article can help you with that:
Verify Zend Server for IBM i has started successfully
Tip |
---|
title | Reset Zend Server environment periodically using a CL Program |
---|
|
If you want to automate a process to periodically do the Reset, you can use this CL program in a scheduled job. You will need to stop the Zend Server Environment before running this procedure. If you are using Zend Server 9.1.x - 2019.x, Please REPLACE all instances of zendphp74 with zendphp7. If you are using Zend Server 6 - 8.5.x, Please REPLACE all instances of zendphp74 with zendsvr6 For Zend Server 202.x and higher ENDSBS ZENDPHP74/ZENDPHP74 ENDTCPSVR SERVER(*HTTP) HTTPSVR(ZENDPHP74) MONMSG MSGID(CPF0000) Reset Zend Server environment:
PGM
DCL VAR(&CMDSHR) TYPE(*CHAR) LEN(50) DCL VAR(&NULL) TYPE(*CHAR) LEN(1) VALUE(X'00') DCL VAR(&HOMEDIR) TYPE(*CHAR) LEN(50) + VALUE('/usr/local/zendphp74')
/* Part 1 - clean up zombie Apache jobs */ CHGVAR VAR(&CMDSHR) VALUE('ps -ef | grep ' *CAT + '/zendphp74/bin/php-cgi ' *CAT ' | awk '{print $2}' | + xargs kill -9' || &NULL) CALL PGM(QP2SHELL) PARM('/QOpenSys/usr/bin/sh' + &CMDSHR) MONMSG MSGID(CPF0000) /* Part 2 - Clearing shared memory */ /*parameters : script, tofile, look for string, status */ CHGVAR VAR(&CMDSHR) VALUE(&HOMEDIR *TCAT + '/bin/i5ipcrm_script.sh' || &NULL) CALL PGM(QP2SHELL) PARM('/QOpenSys/usr/bin/sh' + &CMDSHR) MONMSG MSGID(CPF0000) CHGVAR VAR(&CMDSHR) VALUE(&HOMEDIR *TCAT + '/bin/clean_tmpfiles.sh' || &NULL) CALL PGM(QP2SHELL) PARM('/QOpenSys/usr/bin/sh' + &CMDSHR) MONMSG MSGID(CPF0000) ENDPGM |