我有各种PHP脚本通过cron作业全天运行,随着越来越多的用户使用我的应用程序,cron作业需要更长的时间。当我从文件记录迁移到数据库记录时,这些作业开始花费两倍的时间,因为(我相信)日志记录功能需要时间来建立与数据库的新连接 - 大约每秒一秒。
我的结构如下。 cron作业运行的脚本如下所示:
<?php
require("db-helper-class.php");
require("action-class.php");
$con = new DB();
$action = new ActionClass($con);
$action->method_1();
&#34;行动类&#34;看起来像这样:
<?php
include "logging-functions.php";
class ActionClass {
private $db;
public function __construct(DB $pdo) {
//connect to database
$this->db = $pdo;
}
public function method_1() {
//do stuff like a database action
$sql = "...";
$this->db->$query($sql)
//log result
logSomething($vars);
//do another database action
$sql = "...";
$this->db->$query($sql)
//log result
logSomething($vars);
}
...
&#34; logging-functions.php&#34;看起来像这样:
<?php
require_once("db-helper-class.php");
function logSomething($input) {
$logDBcon = new DB();
$sql = "...";
$logDBcon->query($sql);
...
}
正如您所看到的,在记录时,会发生多个新连接。我有两个主要问题:
lastInsertId()
会丢失吗?答案 0 :(得分:0)
隐藏旁注:考虑最佳实践,你应该在SO上创建一个新问题,因为那些问题通常都很臃肿。所以这个问题确实是偷偷摸摸的。