我在前端使用DHTMLX Scheduler,在后端使用DHTMLX Connector作为我的无线电自动化应用程序的一部分。每次用户编辑日历时,都会对文件进行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");
这个文件是我的“垫片”,它将前端连接到后端。我想运行另一个将更改写入我的crontab的PHP脚本,但是在 DHTMLX库更新数据库之后需要发生。麻烦的是,DHTMLX库会在它认为完成时自动退出:有时它可能不会超过第一行 我的解决方案是创建一个带有析构函数的类,该类使用最新的更改来更新crontab。由于如果调用exit()或die()函数仍会运行php手册states that析构函数,我添加了一个带有运行 出于某种原因,它不起作用。require_once('...')
,所以我不能只将require_once('cronwriter.php');
放在脚本的最后一行。< / p>
cronwriter.php
脚本的析构函数的虚拟类:(我将其添加到文件的开头。)class ExitCatcher
{
function __destruct()
{
require_once('cronwriter.php');
}
}
//init the class
$ExitCatcher = new ExitCatcher;
答案 0 :(得分:2)
register_shutdown_function可以提供快速解决方案;但是,你可以通过检查该库的偶发进程停止的原因来节省一些未来的麻烦。
一个好的起点可能是......