People are often confused by the difference between the reload
and the restart
operation. That lead to a lot of questions like “Can i do a simple reload when changing a parameters into the modphp php.ini
setting file ?” or “Does a reload interrupt the service ?”
First of all it’s important to understand that the reload
operation doesn’t really exist, not in a former sense. When doing a reload
the parent process do reload its configuration, but as it doesn’t do anything by himself except spawning child process, the new configuration isn’t effective right away. Then the parent process send a graceful
signal to each of its child to exit after finishing their current request (or to exit immediately if they’re not serving anything). As each child dies off the parent replaces it with a new child.
So a reload
operation, doesn’t interrupt the service, but it effect isn’t immediate. If you need an immediate effect you must do a restart
operation which “violently” kill all the child process. The reload
operation also have one big limitation : it doesn’t take into account new files. For enabling a new module or after changing a SSL certificates, you must use the restart
operation.