使用SIGSEGV/Wordpress退出的PHP内置服务器

使用SIGSEGV/Wordpress退出的PHP内置服务器,php,wordpress,infinite-loop,segmentation-fault,Php,Wordpress,Infinite Loop,Segmentation Fault,在本地开发wordpress博客时,我的PHP服务器在呈现页面的过程中正在使用SIGSEGV 这是我的启动脚本:sudophp-s127.0.0.1:80-t../reece blog local 我希望我能提供更多的细节,但我似乎无法从PHP中获得有关这方面的任何信息。我知道它将与SIGSEGV一起退出的唯一原因是我正在与foreman一起运行此流程,否则该流程将以静默方式退出 似乎没有一行特定的代码使它中断,我可以根据退出前设法呈现的HTML跟踪错误区域,并且我可以插入一些echo“Hell

在本地开发wordpress博客时,我的PHP服务器在呈现页面的过程中正在使用SIGSEGV

这是我的启动脚本:
sudophp-s127.0.0.1:80-t../reece blog local

我希望我能提供更多的细节,但我似乎无法从PHP中获得有关这方面的任何信息。我知道它将与SIGSEGV一起退出的唯一原因是我正在与foreman一起运行此流程,否则该流程将以静默方式退出

似乎没有一行特定的代码使它中断,我可以根据退出前设法呈现的HTML跟踪错误区域,并且我可以插入一些
echo“Hello,world!”
s,它会中断其中任何一行

注:

  • 在我升级到Mavericks之前,服务器一直工作正常,所以我认为可能会有干扰
  • 确认了在卷曲任何URL时会发生这种情况,因此可能排除了提供静态文件的问题
  • 没有耗尽我的记忆极限

如何进一步调试这个问题,以代替PHP输出的任何特定错误

PHP服务器将以分段错误(SIGSEGV)退出,例如:

如果输出被缓冲,并且您使用
echo
调试这样的错误,那么错误可能会出现在奇怪的地方(因此,它似乎会在
echo“Hello,world!”;
这样的行上中断)

相反,您可以使用
错误日志($yourMessage,4)
将消息输出到控制台。这有助于我追踪错误(尽管从阅读资料来看,这可能是查找此类错误的首选解决方案。)

值得一提的是,以下是我如何有效地实现无限递归:

class TheParent {
  public function __call($method, $args) {
    return call_user_func_array(array($this, $method), $args);
  }
}

class TheChild extends TheParent {
  protected function thisIsOkay() {
    echo 'yay';
  }
  private function sigsegv() {
    echo 'no';
  }
}

$c = new TheChild;
$c->thisIsOkay();
$c->sigsegv();
如果我们试图在child中调用私有函数,将调用\uu调用、尝试访问私有函数、调用\uu调用等

class TheParent {
  public function __call($method, $args) {
    return call_user_func_array(array($this, $method), $args);
  }
}

class TheChild extends TheParent {
  protected function thisIsOkay() {
    echo 'yay';
  }
  private function sigsegv() {
    echo 'no';
  }
}

$c = new TheChild;
$c->thisIsOkay();
$c->sigsegv();