【发布时间】:2012-02-24 14:54:42
【问题描述】:
我们的 apache error_log 最近充满了类似于以下内容的行(大约 50GB):
[Wed Feb 01 16:50:15 2012] [error] [client 123.123.123.123] PHP Warning:
unpack() [<a href='function.unpack'>function.unpack</a>]:
Type V: not enough input, need 4, have 1
in /var/www/vhosts/domain.com/httpdocs/imagecreatefrombmp.php on line 52
imagecreatefrombmp.bmp 中的第 52 行如下:
$COLOR = unpack("V",substr($IMG,$P,3).$VIDE);
这一行隐藏在一个while循环中。
如果这个问题再次发生,我希望代码安静地退出 while 循环。
问题是我自己无法复制问题,所以我需要盲目地解决它。
我设计了以下小解决方案。它会达到目的吗?如果再次出现“Type V not input...”错误,try catch块是否会捕获它并返回false?
try{
$COLOR = unpack("V",substr($IMG,$P,3).$VIDE);
}catch (Exception $e) {
return FALSE;
}
【问题讨论】:
-
警告和异常无关。
-
@Cheery:如果发现重复,请继续投票关闭。
-
@LightnessRacesinOrbit 我愿意,但是这个权限需要 3k
-
@Cheery:抱歉,确实如此。我想知道这是否增加了;我不记得有这么高。
标签: php