網誌統計

  • Total Stats
    • 1,107 Posts
    • 3,437 Comments

到訪統計

View My Stats
2004-4 月-6 22:20 下午

4images 縮圖工具問題

  4Images 可以選擇 3 種縮圖工具:GD, ImageMagick, NetPBM


  這三種工具中,使用GD最方便,因為 PHP 已內建了 GD,不必再另外安裝,速度上也最快,但是因為一些 GIF 圖檔的法律專利問題,GD2 是無法作 GIF 縮圖的,除非改用 GD1,但是 GD1的縮圖品質實在不能看,這個問題只能等到今年夏天其專利權失效之後GD2才有可能支援 GIF縮圖,要多久時間並不清楚。如果堅持要用 GD2,記得要改這個地方。


  使用 NetPBM?這絕對不是什麼 user-friendly 的好差事,也不符懶人一指達成的要求,只好謝絕,我的時間有限,不想耗在這上面。


  那 ImageMagick 呢?好像也只有這個可以選擇了,好歹我的MT也用 ImageMagick,用同一套程式也算節約資源吧。使用上只有幾個地方要注意:


1. ImageMagick 在 Windows 平台上的安裝路徑不得有空格,例如內定的 C:Pgram Files 就是。


2. 4Images 控制台中的一般設定->縮圖轉換工具的路徑請輸入其 convert.exe 完全的路徑,例如 c:imagickconvert.exe , Windows 平台也有自己的同名執行檔 convert.exe, 這是不同的,所以別搞錯了。


3. 如果使用的是 php 4.3,記得找出 4Images 路徑下的 includesimage_utili.php 檔,將其中的


if (!@is_executable($convert_options[‘convert_path’]))
{ $convert_options[‘convert_error’] = ““.$lang[‘im_error’].”
n”.$lang[‘check_module_settings’];
}
break;

改成


/* if (!@is_executable($convert_options[‘convert_path’]))
{ $convert_options[‘convert_error’] = ““.$lang[‘im_error’].”
n”.$lang[‘check_module_settings’];
}
*/ break;

  這個問題與PHP 4.3 版本無法使用 is_executable(); 有關,得記得把這段蛀掉。

分享或推文 !!

8 comments to 4images 縮圖工具問題

  • Frey

    雖然我的記憶力沒這麼好, 也很早就不用 4Images 了, 不過還是盡量試著回答你的問題:
    IIS 的 網際網路客戶帳號必須要對 cmd.exe 有適當的讀與執行權限才行(指的是 IUSR_你的伺服器名稱 或 IUSR) ,而通常此一權限是預設關閉的。
    1. 打開 c:windowssystem32 資料夾或是 c:winntsystem32 資料夾
    2. 在 cmd.exe 上按滑鼠右鍵,再選取”內容” (Properties)
    3. 點選 “安全” (Security) 這個分頁
    4. 如果上述的網際網路客戶帳號不在其中,請將其加入
    5. 加入之後記得再給讀與執行的權限就行了
    希望對你有些幫助。

  • roger

    我的錯誤訊息為
    建立縮圖: IMG 2290 (IMG_2290.JPG) ….
    Warning: system(): Unable to fork [C:Inetpubwwwroot4imagesimgim_/convert.exe -quality 75 -antialias -sample 100×75 “./../data/media/3/IMG_2290.JPG” “./../data/thumbnails/3/IMG_2290.JPG”] in c:inetpubwwwroot4imagesincludesimage_utils.php on line 104
    建立縮圖錯誤!
    第104行為
    system($command);
    請問要如何處理
    謝謝

  • roger

    雖然你的文是5年前PO上去的,但我還是要請教您,您回答發文者大大的訊息為:假設你的 convert.exe 的完全路徑是正確的,那就似乎與安全權限有關了,你可以檢查一下各個重要的帳號、執行檔、暫存資料夾是否有足夠的權限,例如 cmd.exe, IUSER_domain, IUSER_Servername, 等等。
    請問cmd.exe的權限怎麼檢查。

  • 什麼藏寶圖會要 3MB 這麼大呢?… ??

  • 羊咩

    您好:請問一下使用GD在做圖片處理時是否圖片大小不可以超過3MB呢??真的會有這樣的問題嗎?

  • ken

    謝謝前輩的指導~!!
    我來試試看 😀

  • 假設你的 convert.exe 的完全路徑是正確的,那就似乎與安全權限有關了,你可以檢查一下各個重要的帳號、執行檔、暫存資料夾是否有足夠的權限,例如 cmd.exe, IUSER_domain, IUSER_Servername, 等等。
    IIS 的大部份問題都出在安全權限上,試試看好了… 🙂

  • ken

    我想請問一下!!
    我照著上面的方法去做
    但在建立縮圖時卻出現這樣的錯誤訊息:
    Warning: system(): Unable to fork [C:ImageMagick-6.1.7-Q16convert.exe -quality 75 -antialias -sample 75×100 “./../data/media/2/aaj.jpg” “./../data/thumbnails/2/aaj.jpg”] in C:web4imagesincludesimage_utils.php on line 100
    建立縮圖錯誤!
    我第100行是這樣
    $command = $convert_options[‘convert_path’].” -quality “.$quality.” -antialias -sample $width”.”x”.”$height “$src” “$dest””;
    system($command);
    return (file_exists($dest)) ? 1 : 0;
    }
    想請問出現些訊息是什麼意思呢?請前輩指導一下

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

  

  

  

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料