2012-05-09 45 views
2

我正在從PDF文件的第一頁創建縮略​​圖圖像。我幾乎每天膩在網絡上可用的解決方案,使ImageMagick的運行,但我仍然得到以下錯誤Imagick不工作

Fatal error: Class 'Imagick' not found in C:\wamp\www\mediabox\application\controllers\cron.php on line 153 

是我迄今所做的。

  1. 安裝GPL Ghostscript的
  2. 安裝的ImageMagick-6.7.6-Q16
  3. 下載並複製在我的PHP安裝的ext目錄中的文件php_imagick.dll。
  4. 將extension = php_imagick.dll添加到我的php.ini文件中。
  5. 重新啓動Apache服務器和Windows很多次:)
  6. 我使用codeigniter框架。
  7. 的PHP 5.3.10,阿帕奇2.2.21和MySQL 5.5.20,WAMP 2.2和贏得7

在我的本地頁面在加載的擴展類 '的ImageMagick沒有列出'

代碼我已經寫是

$image = explode('.', $filename_new); 
$image_name = 'files/import/' . $ftp_upload["path"] ."/". $image[0] .".jpg"; 
//exec("convert -colorspace RGB -geometry 300x400! -density 200 " .$pdf_file."[0] ". $image_name); 
$img = $image[0].".jpg" ; 
$im = new Imagick($img); 
$im->pingImage($img); 
$im->readImage($img); 
$im->thumbnailImage(100, null); 
$im->writeImage('files/import/' . $ftp_upload["path"] ."/".$img); 
$im->destroy(); 

exec命令創建的圖像,但它很慢,我想創建使用Imagick類的縮略圖,我希望它會更快相比Exec和轉換啄。

任何想法我該怎麼做才能使Imagick類可用於我的PHP?

感謝

+0

檢查'的phpinfo()'來看看你是否有一個名爲'imagick'第一的延伸。這應該確認'imagick'擴展是否正確安裝。 – F21

+0

不,它沒有imagick擴展 –

回答

2

我不知道從何處取得您的二進制文件,但似乎喜歡的事我經歷了大約一個月前。我嘗試過的一些二進制文件會顯示在phpinfo()中,但拒絕工作,而其他人甚至不會在phpinfo()中顯示。

然後我就按照我的問題here繼續編譯我自己的二進制文件。

我剛剛爲你編譯了這些二進制文件。它們適用於x86,採用VC9編譯,並且有線程安全和非線程安全版本。版本是3.1.0RC1(最新)。

你可以從這裏下載:http://min.us/mtg0Z66BI

讓我知道它是否適合你:)

+0

我正在使用64x操作系統。它會起作用嗎? –

+0

,我會看看我是否能建立一個64版本:) – F21

+0

所以我應該嘗試你的64倍或沒有解決辦法? :) –

0

如果僅創建的JPG JPG提示添加到exec()命令,它會比快Imagick。

在讀取圖像之前使用-define jpeg:size = 200x200 - 200x200是輸出圖像大小。

我懷疑Imagick沒有正確

+0

你的意思是包括-define jpeg選項會使執行命令快嗎? –

+0

不確定使用pdf,但它只能讀取足夠的數據到內存中以創建JPG,因此速度更快。一年前我進行了一些速度測試:http://www.rubblewebs.co.uk/imagemagick/speed/Speed_tests_1.pdf – Bonzo

1

我的服務器上安裝了PECL,imagick擴展只能與mod_mpm_prefork工作 - 它不mod_mpm_worker.so工作或mod_mpm_event.so

這可能是你的問題。