多年来,我一直在使用 Apache 和 PHP,既作为独立安装(Windows 和 Linux),也作为 Windows 上 WAMP 堆栈的一部分。
今天我决定尝试一下Zend 服务器 CE,并惊讶地发现它提供了两样东西:
- 原始的 Apache 服务监视器,它允许我重新启动 Apache
- Zend Controller 应用程序,其中有一个“重新启动 PHP”按钮
我从未想过“重新启动 PHP”,因为我习惯将 PHP 视为 Apache 模块。据我所知,没有办法“重新启动 PHP”,但您可以通过重新启动 Apache 来应用新的 PHP 设置。
“重新启动 PHP”只是在后台重新启动 Apache,还是做其他事情?
答案1
以下是我对所发生事情的理解:
- Zend Server GUI 通过 XML-RPC(localhost:80083)与在 Apache 中运行的 PHP 进行通信
- 调用函数 zend_restart_php()(由 PHP 模块 ZendUtils 定义),这导致 Apache 模块重新读取其 INI 文件并重新初始化。
答案2
这对 Zend Server/Zend Server CE 来说是一个增值功能,它实际上会重新启动 PHP 进程,而无需重新启动整个 Apache。