2011-10-02 87 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

回答