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

问题描述:

在本地开发一个wordpress博客,我的PHP服务器在呈现页面的一半时候正在用SIGSEGV死去。用SIGSEGV/Wordpress退出的PHP内置服务器

这里是我的启动脚本:sudo php -S 127.0.0.1:80 -t ../reece-blog-local

我希望我能提供更多的细节,但我似乎无法得到任何信息了PHP的这个问题。我知道它退出SIGSEGV的唯一原因是我正在与工头一起运行这个过程,否则这个过程会静静地退出。

似乎没有特定的代码行让它突破,我可以根据HTML在退出之前设置呈现的区域来追踪错误的区域,我可以粘贴几个echo "Hello, world!" s和它打破了它们中的任何一个。

注:

  • 服务器工作正常,直到我升级到小牛队,所以想的东西有可能被干扰。
  • 确认这发生在CURLing任何URL时,因此可能排除这是服务静态文件的问题。
  • 没有用尽我的内存限制

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

PHP服务器将与分段故障(SIGSEGV)错误in the event of infinite recursion,如退出:

function test() { 
    test(); 
} 

如果缓冲输出,并使用echo调试这样的错误,可能会出现错误怪出现(因此为什么它看起来像echo "Hello, world!";这样的行)

而是,您可以使用error_log($yourMessage, 4);来输出消息到控制台。这有助于追查错误我

对于它的价值,这里是有效的我怎么了无限递归(虽然从阅读它周围似乎XDebug可能是发现这样的错误的首选解决方案。):

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(); 

如果我们试图调用TheChild中的私有函数,__call将被调用,尝试访问私有函数,调用__call等。