脚本宝典收集整理的这篇文章主要介绍了如何在PHP中使用内存使用警告?,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我对PHP扩展或PHP C代码一无所知,但只要我们已经自己构建PHP,我们甚至可以修补代码.
在Zend / zend_alloc.c中,我可以看到这一点
if (segment_size < true_size || heap->real_size + segment_size > heap->limit) {
在此之前添加一行并将已使用的内存与另一个限制进行比较并发出警告非常容易.
我可以在扩展中修补,还是修补PHP代码?为什么这不存在?这是一个坏主意?这已经存在于某个地方吗?
为max_execution_time添加相同的警告似乎更难,因为我仍然不理解计时器的处理方式.
> This code shows a PHP way to catch a fatal error.
> Safely catch a ‘Allowed memory size exhausted’ error in PHP
基本上,当脚本退出或停止时,您可以使用PHP register_shutdown_function来运行函数.而函数error_get_last()返回有关最后一个错误的信息,这将是致命的错误:
ini_set('display_errors',false); error_reporting(-1); set_error_handler(function($code,$string,$file,$line){ throw new ErrorException($string,null,$code,$line); }); register_shutdown_function(function(){ $error = error_get_last(); if(null !== $error) { echo 'Caught at shutdown'; } }); try { while(true) { $data .= str_rePEat('#',PHP_INT_MAX); } } catch(\Exception $exception) { echo 'Caught in try/catch'; }
以上是脚本宝典为你收集整理的如何在PHP中使用内存使用警告?全部内容,希望文章能够帮你解决如何在PHP中使用内存使用警告?所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。