Everything's been working perfectly for days, but I need to make a config change to the php.ini. Specifically, I need to work out why a login page is doing an endless redirect loop in nginx, where it worked fine in Apache (.htaccess is not relevant here).

But more than that, it doesn't restart php5-fpm, so those values don't "take".
By going into a shell and issuing "service php5-fpm restart", then it works.

If I manually make than change in the file, then it WILL stick, but then of course it's out of synch with ISPC control panel, so as soon as I make another change, it gets overwritten. Phew!

But I also noticed when I restart php5-fpm after making a change, or leaving it for a few minutes, that it takes about 30 seconds to restart. But when I do it straight after the restart, it's instant. I watched free and top in another window, and it wasn't running out of memory.

In case it matters, following multiple articles about managing fpm on vps with limited memory, I made the following changes in ISPC which look like this in the log:

This is actually perfectly adequate for my needs, and greatly reduced the fpm footprint - I only have 2 sites anyway.

And finally.... phpinfo says the error log is in /usr/error_log - seeing as I've got reporting turned to "all", and when I put it to display errors I get loads, I'm surprised to see the error log doesn't even exist.

I know it has been a while, but I have had this same issue with flags being turned off even though I specify them as on. I did a lot of checking and testing, and it seems it has to do with the way the ISPConfig parser takes in the "php.ini" value and converts it into a php_admin_value[var] = value.

It seems that if it has no double quotes (if it is not text), and it is not a number, it assumes it is a boolean value and must evaluate in a specific way. In terms of boolean interpretation, it is my guess that "on/off" means nothing to the parser, therefore it will always evaluate as false, which means "Off".

I finally figured out that if you enter the value on the "Custom php.ini directives" as for example:

Code:

display_errors = true

The parser will then write the conf file as:

Code:

php_admin_value[display_errors] = true

which will translate as "On" for all purposes and the change will take place. I hope this can still help someone.