php.ini changes are lost after restart of Zend Server

Changes made to the php.ini file or other .ini files by editing the file directly are lost when Zend Server is restarted.

Environment

Zend Server for IBM i, running on any supported version of IBM i.

Resolution

This usually happens if the directive is changed by editing the php.ini file instead of changing the directive in the Zend Server UI. This is because the directives are kept in a database in Zend Server, so they can be restored in case the php.ini is not correct. The value in the Zend Server data base overwrites the change you made manually in the php.ini file every time you start up.

Please go into the Zend Server UI and navigate to the PHP -> Extensions tab. Enter the name of the directive you want to change (for this example, we are searching for include_path) in the search box and press enter. You should find include_path in the search (it will show up under Paths and Directories for this directive), and can change the value there.

Tip: Directives like include_path can be difficult to enter because the value may be larger than the text box.

When the text box is too small for the value, we like to highlight and copy the entire value out to a temporary text file, make whatever change we need, then copy the whole thing back in to replace what is there.

After changing the directive to what you want, the Save button at the upper left of the table should become enabled. Click Save, and then after a little processing you should get a notification that the change is saved and a restart is required.

You can restart by clicking the restart icon, located near the top right of the page, that looks like a circular arrow, and will be orange when a restart is due. When you click the restart button, your website will be down for a couple of minutes, so plan to do this when that is acceptable.

By changing your directives in the UI, they will be preserved in the Zend Server database, and will always be set to the expected value on restart.