修正 Imagick 造成 Segmentation Fault 問題

edited 十月 2013 in PEAR&PECL
在 Ubuntu 10.04.1 安裝了 php5-imagick 套件,在執行下面程式碼時會出現 Segmentation Fault 錯誤:
$image = new Imagick($file);
$image->thumbnailImage(400, 0);
$image->writeImages();

找了一下網路,發現問題出在 OpenMP 的支援,但是又很不想要自己編譯,所以找到這篇:
https://bugs.launchpad.net/ubuntu/+source/ufraw/+bug/448346

在 /etc/environment 加入這行:
OMP_NUM_THREADS=1

然後登出以及重新啟動網頁伺服器,原則上就可以了。不過在其他討論中有發現這個參數對問題的修正並不穩定,還是會比較建議自己重新編譯,把 OpenMP 功能關閉。

原始討論: http://twpug.net/x/modules/newbb/viewtopic.php?topic_id=5702

評論

  • edited 一月 2011
    額....原來有這問題
    我以前一直查不出為何 imagick 要把 RGB 轉為 gray 也會有這問題
    搞不好也是 OpenMP 搞鬼

    我後來自己查公式自己做個轉換程式說 ...
  • edited 一月 2011
    恩,我比較懶,所以顧著在網路搜尋...

    其實是可以用 GD 做縮圖,但是效果差異蠻大的;另外也有發現, Imagick 好像在蘊釀新版本,至少多了其他製作縮圖的功能,據說速度快一些,因為翻文件的時候翻到目前版本沒辦法使用的方法 :)
  • edited 一月 2011
    GD函數名很臭很長阿...每次用GD,php.net都要開著..用100次忘200次
    還是用Imagick方便阿~縮圖的效果也比較好
Sign In or Register to comment.