Php 退出前的触发功能

Php 退出前的触发功能,php,debian,dhtmlx-scheduler,Php,Debian,Dhtmlx Scheduler,我在前端使用DHTMLX连接器,在后端使用DHTMLX连接器,作为我的无线电自动化应用程序的一部分。每次用户编辑日历时,都会对如下文件进行AJAX调用: require_once("dhtmlxScheduler_v4/connector/scheduler_connector.php"); require_once('QDRAconf.php'); $res = mysql_connect($QDRAconf['mysqlHost'], $QDRAconf['mysqlUser'], $QD

我在前端使用DHTMLX连接器,在后端使用DHTMLX连接器,作为我的无线电自动化应用程序的一部分。每次用户编辑日历时,都会对如下文件进行AJAX调用:

require_once("dhtmlxScheduler_v4/connector/scheduler_connector.php");
require_once('QDRAconf.php');

$res = mysql_connect($QDRAconf['mysqlHost'], $QDRAconf['mysqlUser'], $QDRAconf['mysqlPass']);
mysql_select_db($QDRAconf['mysqlDb']);

// init the schedulerconnector
$conn = new SchedulerConnector($res);

// render the table
$conn->render_table("events","id","start_date,end_date,text");
这个文件是我的“垫片”,它将前端连接到后端。我想运行另一个PHP脚本,将更改写入我的crontab,但这需要在DHTMLX库更新数据库之后进行。问题是,只要DHTMLX库认为它已经完成了,它就会自动退出:有时它可能无法通过第一行
require\u once(“…”)
,所以我不能只放
require\u once('cronwriter.php')位于脚本的最后一行

我的解决方案是使用析构函数创建一个类,用最新的更改更新crontab。由于如果调用exit()或die()函数,php手动析构函数仍将运行,因此我添加了一个带有析构函数的伪类,该析构函数运行
cronwriter.php
script:(我将其添加到文件的开头。)

由于某些原因,它不起作用。

可能会提供一个快速的解决方案;但是,通过检查该库的偶发进程停止的原因,您可能会避免一些将来的麻烦

一个好的开始可能是

  • 浏览器的JS for JS错误
  • 您的JS控制台的“网络”选项卡用于查看AJAX错误
  • 您的服务器的PHP错误日志
class ExitCatcher
{
    function __destruct()
    {
        require_once('cronwriter.php');
    }
}
//init the class
$ExitCatcher = new ExitCatcher;