2011-10-02 41 views
2

好吧,所以无论何时将此GIF上传到我的主板(NGINX + PHP-FPM),我的速度都会变慢,直到最终504网关超时,所以我知道您在想什么,“继续并修复那些nginx.conf和php-fpm设置“,我把它们调整到接近完美,我的服务器现在运行得非常好。然而,那个特定的GIF仍然出现问题,运行php-FPM几乎100%(我的服务器上有一个很棒的顶级四核处理器,我的服务器绝不是原始的)。用GIF上传的神秘问题?

所以想知道它在哪里变得很奇怪?我已经上传了10MB大小的GIF文件(导致问题的文件大小约为600KB),并让服务器快速处理它们。

好吧!因此,让我们进入日志,error_log不会输出有关此问题的任何信息。所以我去了ahlead,并在php-FPM配置中设置了缓慢的日志。

这里的问题: [02-Oct-2011 05:54:17] [pool www] pid 76004 script_filename = /usr/local/www/mydomain/post.php [0x0000000805afc6d8] imagefill() /usr/local/www/mydomain/inc/post.php:159 [0x0000000805afb908] fastImageCopyResampled() /usr/local/www/mydomain/inc/post.php:107 [0x0000000805af4240] createThumbnail() /usr/local/www/mydomain/classes/upload.php:182 [0x0000000805aeb058] HandleUpload() /usr/local/www/mydomain/post.php:235

好吧,让我们来看看post.php中(以粗线159): if (preg_match("/png/", $system[0]) || preg_match("/gif/", $system[0])) { $colorcount = imagecolorstotal($src_image); if ($colorcount <= 256 && $colorcount != 0) { imagetruecolortopalette($dst_image,true,$colorcount); imagepalettecopy($dst_image,$src_image); $transparentcolor = imagecolortransparent($src_image); **imagefill($dst_image,0,0,$transparentcolor);** imagecolortransparent($dst_image,$transparentcolor); }

线107: fastImageCopyResampled($dst_img, $src_img, 0, 0, 0, 0, $thumb_w, $thumb_h, $old_x, $old_y, $system);

upload.php的,线182 (以粗体显示): **if (!createThumbnail($this->file_location, $this->file_thumb_location, KU_REPLYTHUMBWIDTH, KU_REPLYTHUMBHEIGHT))** { exitWithErrorPage(_gettext('Could not create thumbnail.'));

(注意,该错误没有显示)

其他post.php中(行235): $upload_class->HandleUpload();

所以,我该怎么办?我怎样才能解决这个问题?我知道这是一个棘手的问题,但如果你们可以给我任何意见,我们将不胜感激。

哦,万一有人好奇,这里的GIF:http://i.imgur.com/rmvau.gif

+0

我刚刚发现在error_log中的一些信息: 2011/10/02十三时44分33秒[提醒] 76825#0:* 250的客户端请求体缓冲至临时文件/ var/tmp/nginx/client_body_temp/0000000008,客户端:MY.IP ..,服务器:.org,请求:“POST /post.php HTTP/1.1”,主机:“www。”,引用来源:“http: //万维网。” 2011/10/02 13:45:59 [error] 76825#0:* 250上游过早关闭连接,同时从上游读取响应头,客户端:MY.IP.AD ..,server:.org,请求:“POST /post.php HTTP/1.1“,上游:”fastcgi:// unix:/tmp/php.sock:“,主机:”www。“,referrer:”http:// www。“ – Smith99

+0

任何人都可以帮忙吗? – Smith99

回答