Imagick Kurulum Hataları - Sınıf Tanımsız

4 Cevap php

Tamam, burada ne var ne bir dökümünü:

  1. Komut satırı (örneğin, sudo php myscript.php koştu zaman <? $foo = new Imagick(); ?> hatasız çalışır
  2. Web browswer üzerinden çalıştırdığınızda Ancak, ben almak Fatal error: Class 'Imagick' not found in /var/www/lhackwith_www/test_html/magic.php on line 1.
  3. magickwand yüklü değil
  4. extension = imagick.so başarıyla phpinfo () göre okunan imagick.ini olduğunu;
  5. Ancak, imagick PHP bilgi gösterilmesini DEĞİLDİR.

Herhangi bir tavsiye mutluluk duyacağız.

4 Cevap

I take it you're absolutely sure you've edited the right php.ini...
Did you check the webserver's error.log for hints? You might want to increase the LogLevel for that test. If it's an apache see http://httpd.apache.org/docs/2.2/mod/core.html#loglevel and http://httpd.apache.org/docs/2.2/logs.html#errorlog

ya da belki ldd - print shared library dependencies konuda biraz ışık tutabilir:

<?php
$p = get_cfg_var('extension_dir');
$modpath = $p.DIRECTORY_SEPARATOR.'imagick.so';
echo $modpath, is_readable($modpath) ? ' readable':' not readable', "<br />\n";
echo '<pre>';
passthru('ldd '.$modpath.' 2>&1'); // in case of spaces et al in the path-argument use escapeshellcmd()
echo '</pre>';
please run this script both on the command line and through the webserver. Does it complain about a missing dependency?


edit2: So the script running "within" the webserver isn't even able to see the extension .so... Let's test at which point of the path the trouble starts
<?php
function foo($path) {
  if ( $path==($dir=dirname($path)) ) {
    return;
  }
  foo($dir);

  echo
    is_dir($path) ? ' d':' -',
    is_readable($path) ? 'r':'-',
    is_writable($path) ? 'w':'-',
    is_executable($path) ? 'x ':'- ',
    $path, "<br />\n";
}

$modpath = get_cfg_var('extension_dir').DIRECTORY_SEPARATOR.'imagick.so';
foo($modpath);

Ben 12,04-12,10 ubuntu yükselttikten sonra imagick ile benzer bir sorun vardı.

Sonra çok ben sonunda orada (? Php5 için) gerekli bir farklı paket ve ile sabit olduğunu keşfetti işe yaramaz:

sudo apt-get install php5-imagick

Hangi işletim sistemini kullanıyorsunuz? Ben temelde aşırı acı bazı uzantıları yükleme yapar Mac OSX üzerinde çeşitli sorunlar yaşadım. Ancak, yüklemek Imagick çoğu işletim sistemleri için, gerçekten çok basit olmalıdır.

Komut satırında, tip php-i | grep ini, ve yüklenen olarak listelenen php.ini emin olun phpinfo () yüklenen diyor php.ini aynıdır. Bu farklı iseniz başlamak zorunda nerede, o. Emin olun extension = imagick.so ayrıca, ini dosyaları hem de - onlar aynı dizinden uzantıları yükleme doğrulamak (onlar olacak% 99 şans, ama kim bilir - bir istisna olabilir).

Eğer (muhtemelen) php.ini dosyaları hem imagick.so yükleme doğruladıktan ettik ve hala çalışmıyor sonra, / apache / hatalar.log (tabii ki, apache kullanıyorsanız varsayarak / tail-f / yolu deneyin .. ) ve apache yeniden başlatın. Sen yükleme kütüphaneler ve / veya uzantıları hakkında php uyarılar için buraya arıyoruz. Umarım bu doğru yönde bir işaret olacaktır.

Bu yardımcı olur umarım

Jim

Ne yapıyor sona erdi:

DB görüntünün yönünü saklanması ve sonra dinamik saklandığı yöne görüntüyü döndürmek için AlternaTIFF kullanıyor. Hiçbir görüntü manipülasyonu gerekli.

Olsa yardım için teşekkürler.