在 Ubuntu 16.04.2 LTS 上 Apache 重启时运行代码

在 Ubuntu 16.04.2 LTS 上 Apache 重启时运行代码

我想在 Apache 重新启动时运行一些特定于应用程序的清理代码。首先,我按照以下步骤操作https://stackoverflow.com/questions/2992938/is-it-possible-to-launch-a-php-script-at-apache-startup。我在本地 Ubuntu 16.04.1 LTS 虚拟机上更改了 /etc/init.d/apache2(带有 Apache/2.4.18),在 start 下添加了一些代码,它运行得很好。但是,当我尝试在 AWS 上托管的带有 Apache/2.4.23 的 Ubuntu 16.04.2 LTS 上执行完全相同的步骤时,几乎就像我的更改被忽略了一样。我输入了许多“echo”语句来了解发生了什么,但我没有看到任何代码正在运行的迹象。

这是我在 /etc/init.d/apache2 中所做的更改

start)
    log_daemon_msg "Starting $DESC" "$NAME"
    do_start
    RET_STATUS=$?
    case "$RET_STATUS" in
            0|1)
                    log_success_msg
                    [ "$VERBOSE" != no ] && [ $RET_STATUS = 1 ] && log_warning_msg "Server was already running"
            ;;
            2)
                    log_failure_msg
                    print_error_msg
                    exit 1
                    ;;
    esac
    # Restart the reports that would have died when the server is restarted
    echo Restarting reports
    echo `date +%Y-%m-%d:%H:%M:%S` Starting report:restart_running_reports >> /var/www/application/storage/logs/restart_running_reports.log
    php /var/www/application/artisan report:restart_running_reports
    ;;
  • 是否有某种方法可以记录 /etc/init.d/apache2 中发生的情况,以查看它是否能够进入该 switch 语句?log_daemon_msg 最终在哪里?
  • 在 Apache 启动/重新启动时运行脚本还有其他方法吗?

相关内容