试图分析 php 脚本但析构函数是模糊的

Posted

技术标签:

【中文标题】试图分析 php 脚本但析构函数是模糊的【英文标题】:Trying to profile php script but destructors are vague 【发布时间】:2010-10-12 18:06:52 【问题描述】:

我有以下 php 跟踪,您可以看到其中一个类的构造函数存在巨大延迟,但我无法确定原因,因为它没有告诉我哪种类型的子类扩展了它.如何获取有关跟踪的更多信息以确定此信息。

__destruct() 的代码很简单。

  public function __destruct()
    unset($this->dbObject);
  




   0.2180    8723832           -> SIT_DB_Base->__destruct() /usr/local/share/sit/sitlib-2.18/SIT_DB_Base.php:0
    0.2180    8720752           -> SIT_DB_Base->__destruct() /usr/local/share/sit/sitlib-2.18/SIT_DB_Base.php:0
    0.2184    8067856           -> SIT_DB_Base->__destruct() /usr/local/share/sit/sitlib-2.18/SIT_DB_Base.php:0
   84.2555    8081936         -> SIT_DB_Base->__destruct() /usr/local/share/sit/sitlib-2.18/SIT_DB_Base.php:0
   84.2556    8065984         -> SIT_DB_Base->__destruct() /usr/local/share/sit/sitlib-2.18/SIT_DB_Base.php:0
   84.2557    8052888         -> SIT_Authority->__destruct() /usr/local/share/sit/sitlib-2.18/SIT_Authority.php:0
   84.2557    8052960         -> SIT_DB_Base->__destruct() /usr/local/share/sit/sitlib-2.18/SIT_DB_Base.php:0
   84.2557    8048936         -> SIT_DB_Base->__destruct() /usr/local/share/sit/sitlib-2.18/SIT_DB_Base.php:0

【问题讨论】:

【参考方案1】:

试试这个:

$classReflection = new ReflectionClass($classObject);
echo $classReflection->getName();

您还可以在下面查看有关反射对象的更多信息:

Link

【讨论】:

以上是关于试图分析 php 脚本但析构函数是模糊的的主要内容,如果未能解决你的问题,请参考以下文章

mfc 类的析构函数

无法在类的析构函数中删除指向数组的成员指针

虚析构函数

基类的析构函数写成virtual虚析构函数

C++ 设置基类的析构函数为虚函数

受保护的与私有的析构函数