天天看點

解決wordpress下編輯jpg格式圖檔的問題

這兩天在使用wordpress的編輯圖像功能時遇到一個問題,發現jpeg格式的圖檔在上傳之後無法編輯,以為是代碼的問題,後來重新安裝wp後發現問題依舊,就猜想是不是環境的問題,于是就檢視phpinfo的結果,發現在gd子產品下ibjpeg version unknown,不能識别jpeg的版本,在網上搜尋一番,終于找到了結果,拿來和大家分享,希望對有同樣問題的同學有幫助。

這個原因是由于gd庫沒有解析jpeg的版本,這就需要重新編譯php和gd庫擴充

首先需要編譯安裝 freetype,libpng,jpegv9,和gd2 安裝過程就不在贅述

然後在編譯php的時候将--with-gd=/usr/local/gd2/ 替換成--enable-gd-native-ttf 這個選項,來進行編譯,編譯成功後進入源代碼檔案夾内,進入ext/gd/libgd檔案夾下,修改gd_jpeg.c檔案,大約在111行左右

将switch内的内容替換

switch(JPEG_LIB_VERSION) {
        case 62:
            return "6b";
            break;
 
        case 70:
            return "7";
            break;
 
        case 80:
            return "8";
            break;
 
        case 81:
            return "8a";
            break;
 
        case 82:
            return "8b";
            break;
 
        case 83:
            return "8c";
            break;
 
        case 84:
            return "8d";
            break;
 
        case 90:
            return "9";
            break;
 
        case 91:
            return "9a";
            break;
 
        case 92:
            return "9b";
            break;
 
        case 93:
            return "9c";
            break;
 
        case 94:
            return "9d";
            break;
 
        default:
            return "unknown";
    }
           

然後進入到上級目錄内,開始編譯gd擴充

/usr/local/php/bin/phpize 

然後 ./configure --with-php-config=/usr/local/php/bin/php-config --with-jpeg-dir=/usr/local/jpeg --with-gd編譯完成

然後在php.ini中添加一行extension=gd.so

重新開機apache服務,就會看到在libjpeg version 後顯示的不再是unknown了 ,問題解決了

繼續閱讀