【发布时间】:2010-07-05 10:32:10
【问题描述】:
我有一个正在运行的 PHP 脚本,有时我只想重新启动 apache 并摆脱所有正在运行的 PHP 脚本。
但是,我注意到重启后,PHP 脚本将继续运行。为什么是这样?是否有确保 Apache 正确重启的选项?还是ignore_user_abort 函数导致了这个问题?
感谢大家的帮助
【问题讨论】:
我有一个正在运行的 PHP 脚本,有时我只想重新启动 apache 并摆脱所有正在运行的 PHP 脚本。
但是,我注意到重启后,PHP 脚本将继续运行。为什么是这样?是否有确保 Apache 正确重启的选项?还是ignore_user_abort 函数导致了这个问题?
感谢大家的帮助
【问题讨论】:
这取决于您如何重新启动 httpd。 “软重启”(例如killall -HUP httpd)允许当前运行的 httpd 子进程在死前完成请求。这消除了浏览器在请求期间“死机”的情况,但这确实意味着当前运行的 PHP 脚本(因为它们在 httpd 子进程中运行)将继续运行。
【讨论】:
PHP 脚本也可以从 CLI 启动,它们在后台运行并执行各种工作。这些不是由 apache 管理的,您必须单独管理它们。
ignore_user_abort 只忽略用户,你不能真正忽略服务器关闭:) 除非你没有真正关闭,而只是重新加载配置,正如 Ignacio 上面所说的
【讨论】: