Php fatal error class imagick not found

I am trying to install imagemagic php extension under WampServer 2. I've downloaded and installed ImageMagick . I've chosen ImageMagick-6.8.8-10-Q16-x86-dll.exe I've downloaded the php extension. ...

You might be having mis-aligned library versions.

Here’s how I solved it

I had really struggled with all these answers. Looking back I realised most of them are correct except they leave out some very fine details that are crucial.

1). First and foremost, before you start downloading any libraries or DLLs you want to start with your php_info to find out these three very important parameters.

Run the PHP_Info and check:

  1. Architecture : x86 or x64. Your computer might be x64 but your php is running on x86 so don’t assume
  2. Thread Safety : yes or no. Also very important.
  3. Your PHP Version

2). Download ImageMagick from: https://windows.php.net/downloads/pecl/deps/.
My computer is x64 but my php is running x86 so I downloaded ImageMagick-7.0.-vc*-x86.zip

3). Unzip and copy all DLLs from the unzipped bin subfolder to the Apache bin directory. It’s a bunch of CORE_RL_.dll and IM_MOD_RL_.dll plus a few other DLLs. In my case, [zippeddownload]/bin/* ->copied to -> C:Xamppapachebin

4). Go to http://pecl.php.net/package/imagick. You can select the zip link or just the DLL link. I prefer the DLL link. In my case I selected latest version 3.4.3. Which then took me to https://pecl.php.net/package/imagick/3.4.3/windows.
Here we have to make another careful choice

  1. My php version is PHP 5.6
  2. Thread Safety is enabled
  3. Architecture php is running on is x86
  4. So I took 5.6 Thread Safe (TS) x86

5). Unzip and copy «php_imagick.dll» to the php ext folder. And all other DLL files to the php folder

6). Using an editor open php.ini. Search for «extension=» and add this line extension=php_imagick.dll as one of them.

7). Restart Xampp/Wamp or just restart Apache and run PHP_INFO again. Imagick should display. If you still can’t see it refer to this link http://php.net/manual/en/imagick.setup.php#119084

Bonus tip: You might need to download visual c++ 14 runtime. From this link https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads I chose the latest version.

Содержание

  1. Ошибки установки Imagick — класс не определен
  2. 4 ответы
  3. пакете ImageMagick для php+Apache+Windows
  4. yavafree
  5. Фанат
  6. yavafree
  7. Фанат
  8. slach
  9. yavafree
  10. slach
  11. yavafree
  12. slach
  13. Legacy ImageMagick Discussions Archive
  14. Imagick works on version check, but gives fatal error on creating instance of a class.
  15. Imagick works on version check, but gives fatal error on creating instance of a class.
  16. Re: Imagick works on version check, but gives fatal error on creating instance of a class.
  17. Uncaught ImagickException’s on readImageFile #225
  18. Comments

Ошибки установки Imagick — класс не определен

Хорошо, вот подробное описание того, что случилось:

  1. работает без ошибок при запуске из командной строки (например, sudo php myscript.php
  2. Однако при запуске через веб-браузер я получаю Fatal error: Class ‘Imagick’ not found in /var/www/lhackwith_www/test_html/magic.php on line 1 .
  3. magickwand не устанавливается
  4. extension = imagick.so находится в imagick.ini, который успешно читается в соответствии с phpInfo ();
  5. Однако imagick НЕ отображается в информации PHP.

Любой совет будет принят во внимание.

задан 23 июн ’09, 16:06

4 ответы

Я так понимаю, вы абсолютно уверены, что отредактировали правильный php.ini .
Вы проверяли журнал ошибок веб-сервера на предмет подсказок? Возможно, вы захотите увеличить LogLevel для этого теста. Если это апач, см. http://httpd.apache.org/docs/2.2/mod/core.html#loglevel и http://httpd.apache.org/docs/2.2/logs.html#errorlog

запустите этот сценарий как в командной строке, так и через веб-сервер. Он жалуется на отсутствие зависимости?

edit2: Итак, сценарий, работающий «внутри» веб-сервера, даже не может видеть расширение. Итак . Давайте проверим, в какой точке пути начинается проблема

Хороший совет. Однако я проверил уровни журнала и все остальное, и он просто повторил мне ту же ошибку «не найдено». — Леви Хаквит

Php установлен как cgi или как модуль? — ФолькерК

Сервер apache (скорее всего) использует другую учетную запись пользователя, возможно, с другой средой (путь, путь к библиотеке, . ). Посмотрим, сможет ли ldd разрешить все зависимости при работе с учетной записью «пользователя» веб-сервера. — ФолькерК

ldd /usr/lib/php/modules/imagick.so linux-gate.so.1 => (0x00b6b000) libWand.so.10 => /usr/lib/libWand.so.10 (0x00497000) libMagick.so.10 => /usr/lib/libMagick.so.10 (0x001d8000) libc.so.6 => /lib/libc.so.6 (0x00658000) . Это образец вывода, который я получил от ldd. Похоже, что я не упускаю никаких зависимостей (все было установлено через YUM на CentOS (imagick 2.2.1) — Леви Хаквит

/usr/lib/php/modules/imagick.so не читается ldd: /usr/lib/php/modules/imagick.so: Нет такого файла или каталога Это то, что я получаю, когда запускаю ваш скрипт — Леви Хаквит

У меня была аналогичная проблема с imagick после обновления ubuntu с 12.04 до 12.10.

После долгих попыток я в конце концов обнаружил, что нужен другой пакет (для php5?), И исправил его:

Какую операционную систему ты используешь? У меня было несколько проблем с Mac OSX, из-за которых установка некоторых расширений была ЧРЕЗВЫЧАЙНО болезненной. Однако установка Imagick должна быть действительно простой для большинства операционных систем.

В командной строке введите php -i | grep ini и убедитесь, что файл php.ini, указанный как загружаемый, совпадает с файлом php.ini, который, по словам phpinfo (), загружается. Если они разные, вам нужно начать именно с этого. Убедитесь, что extension = imagick.so также есть в обоих ini файлах — убедитесь, что они загружают расширения из одного и того же каталога (вероятность 99%, но кто знает — вы можете быть исключением).

После того, как вы убедились, что (возможно) оба файла php.ini загружают imagick.so, но он все еще не работает, попробуйте выполнить tail -f / path / to / apache / error_log (при условии, что вы, конечно, используете apache .. ) и перезапустите apache. Вы ищете здесь предупреждения php о загрузке библиотек и / или расширений. Надеюсь, это укажет вам правильное направление.

Надеюсь, что это помогает,

Спасибо за вашу помощь, я использую CentOS. Веб-сервер — это apache. — Леви Хаквит

Есть ли что-нибудь в вашей системе 64-битной? — Джим Рубинштейн

Нет, я считаю, что мы используем 32-битную версию — Леви Хаквит

Что я в итоге сделал:

Сохранение ориентации изображения в базе данных, а затем использование альтернативы для динамического поворота изображения к сохраненной ориентации. Никаких манипуляций с изображениями не требуется.

Спасибо за вашу помощь, хотя.

Создан 02 июля ’09, 21:07

Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками php imagick or задайте свой вопрос.

Источник

пакете ImageMagick для php+Apache+Windows

yavafree

Новичок

пакете ImageMagick для php+Apache+Windows

Привет! Возникла проблема с графическим пакетом ImageMagick для php+Apache+Windows.
Подскажите как установить этот пакет.
Даже не получается вызвать класс Imagick().
Может кто ссылку знает с описанием и ресурсами для скачки.
Спасибо!

Фанат

oncle terrible

yavafree

Новичок

Фанат

oncle terrible

slach

Новичок

последовательно читаем и выполняем
http://www.php.net/manual/ru/imagick.setup.php#84412

говорим сюда какой пункт не сделан

yavafree

Новичок

Все сделал по списку!
Во сделал по списку а все равно пишет

Fatal error: Class ‘Imagick’ not found
для кода

/*** new imagick object ***/
$im = new Imagick();

/*** a new image with gradient ***/
$im->newPseudoImage( 40, 200, ‘gradient:red-black’ );

/*** rotate the image ***/
$im->rotateImage(new ImagickPixel(), 270);

/*** set the image format to png ***/
$im->setImageFormat(‘png’);

header( «Content-Type: image/png» );
echo $im;

slach

Новичок

ок.
phpinfo(); — что показывает? есть там хоть слово про ImageMagick ?
если нет, то из какой папки там берется php.ini ? (это видно в самом верху в phpinfo())

а запуск
php.exe -m ?
там про ImageMagick есть что нибудь?

yavafree

Новичок

php.exe -m хорошая командочка
ошибок целая простыня!
————————————————-
1 — extension=php_mbstring.dll вроде везде прописан и лежит в расширениях но выдает что не может его найти модуль
2 — пишет такое же по поводу extension=php_efix.dll
3 — по imagick есть сообщение в всплывающем окне
procedure entry point DrawDestroyContext could not be located in dynamic link libaray CORE_RL_magick.dll
и еще просто в ком-строке
4 — extension=php_imagick.dll вроде везде прописан и лежит в расширениях но выдает что не может его найти процедуру

а по phpinfo()
——————————————-
PATH c:program filesimagemagick;
упоминание есть но секции отдельной как должно быть нет

slach

Новичок

dll’ки у вас судя по всему либо кривые, либо extension требует других dll

Источник

Legacy ImageMagick Discussions Archive

Use https://github.com/ImageMagick/ImageMagick/discussions instead.

Imagick works on version check, but gives fatal error on creating instance of a class.

Imagick works on version check, but gives fatal error on creating instance of a class.

Post by BlissDirect » 2016-05-06T08:59:08-07:00

I am trying ImageMagick on 1and1 hosting.

Agent from 1and1 hosting said, Upon checking, You have successfully installed the ImageMagick, it will not show up in phpinfo since this was not installed in our server’s backend, this was installed within you’re hosting space. You need to use the path where you installed the ImageMagick so you can use it.

When I added this code:

Test for versions and locations of ImageMagick

Path: convert
Version return code is 0
Version: ImageMagick 6.6.0-4 2015-11-27 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2010 ImageMagick Studio LLC
Features: OpenMP

This should test for ImageMagick version 5.x

  • Path: /usr/bin/convert
    Version return code is 0
    Version: ImageMagick 6.6.0-4 2015-11-27 Q16 http://www.imagemagick.org
    Copyright: Copyright (C) 1999-2010 ImageMagick Studio LLC
    Features: OpenMP
    Version: ImageMagick 6.6.0-4 2015-11-27 Q16 http://www.imagemagick.org
    Copyright: Copyright (C) 1999-2010 ImageMagick Studio LLC
    Features: OpenMP

This should test for ImageMagick version 6.x

  • Path: /usr/local/bin/convert
    Version return code is 127
    Version: ImageMagick 6.6.0-4 2015-11-27 Q16 http://www.imagemagick.org
    Copyright: Copyright (C) 1999-2010 ImageMagick Studio LLC
    Features: OpenMP
    Version: ImageMagick 6.6.0-4 2015-11-27 Q16 http://www.imagemagick.org
    Copyright: Copyright (C) 1999-2010 ImageMagick Studio LLC
    Features: OpenMP
    convert is /usr/bin/convert

But when I write a basic php example. It gives a Fatal error: Class ‘Imagick’ not found.

My confusion is do I need to include any path before writing the basic php code and if yes, then what path should I include?

Thanks in advance!

Re: Imagick works on version check, but gives fatal error on creating instance of a class.

Post by fmw42 » 2016-05-06T09:36:29-07:00

Источник

Uncaught ImagickException’s on readImageFile #225

I’m having some problems with an updated ImageMagick installation where readImageFile produces a fatal error exception using the PHP API.

I’ve already had this working while running PHP 5.6 and the associated version of ImageMagick but recently updated to PHP 7.2 and updated the ImageMagick version as well.

I’m fetching an image stream from Amazon S3 with fopen and then reading the image file into ImageMagick using readImageFile:

With a PNG image I’m getting error PHP Fatal error: Uncaught ImagickException: improper image header ‘/var/tmp/magick-193308zvjjkKvCrJv’ @ error/png.c/ReadPNGImage/4229

With a JPG image I’m getting error PHP Fatal error: Uncaught ImagickException: insufficient image data in file ‘/var/tmp/magick-19454t7LA2q6pVdqv’ @ error/jpeg.c/ReadJPEGImage/1106

Running

  • Mac OS X 10.12.6
  • PHP Version 7.2.0RC2
  • Compiled: ImageMagick 7.0.7-15 Q16 x86_64 2017-12-17
  • Running: ImageMagick 7.0.7-18 Q16 x86_64 2017-12-29
  • Module version: 3.4.3

The text was updated successfully, but these errors were encountered:

Please could you clarify what version of ImageMagick works, and which one doesn’t?

Unfortunately I no longer have the old install available to test against.

Even if you can’t test against it, can you say what version the code was working for?

Sorry, that’s what I meant — I don’t have it available to check the version.

I have the same problem.
It’s happening with PHP 7.2.1 and PHP 5.6.32. Both are using Imagick 3.4.3 from http://pecl.php.net/package/imagick. Have tried it with master branch and it’s still happening.

It was working fine with PHP 5.6.30 and some older PHP 7 (not sure which, but am sure it was working).

Here are some more details on the error/exception I’ve managaed to figure:
NOTE: I have replaced full path name with .

I’ve added catch code that inspect the temp directory:

and this was my_dump()’s output:

Exception thrown said that the data file is ‘magick-2365G93po5iLKt4c’ and generated file in tmp dir was ‘magick-2365fpSAPDZjCt40’. Have tried to open ‘magick-2365fpSAPDZjCt40’ afterwards and it contains correct data and image.

Forgot to check imagemagick library version.
Version that fails is 7.0.7.21-1.
Have tried to recompile against version 6.9.9-9, and that one works fine.
Seems something changed in imagemagick 7

@maxrd2 Please could you try some earlier version of ImageMagick, to try to isolate where the change occurred?

Compiled: ImageMagick 7.0.7-15 Q16 x86_64 2017-12-17
Running: ImageMagick 7.0.7-18 Q16 x86_64 2017-12-29

fyi, running a different version of ImageMagick compared to the one that Imagick was compiled against is not guaranteed to work.

@Danack you mean earlier version on im7? will try that over the weekend and let you know. thanks

@Danack I’ve tried various tags from https://github.com/ImageMagick/ImageMagick
280ba7f73 (tag: 7.0.6-8) works
1fd8b52ac (tag: 7.0.6-9) works
27f8ba82d (tag: 7.0.7-0) works
908258552 (tag: 7.0.7-5) works
7be0c046e (tag: 7.0.7-10) works
e017264a9 (tag: 7.0.7-15) works
ddbf0ed10 (tag: 7.0.7-16) works
c9d4c4ecd (tag: 7.0.7-17) Segmentation fault on readImageFile() call
652508e71 (tag: 7.0.7-18) works
eacbdd623be13633c083fd2831eeb79e5381e089 works
db48b4e03dcdec3695c8f845c1afc6e710500722 .
ef2dc62cc31a4ce767281d8ec481b990c02d0681 works
a09307224c224a12739587bc5bd38681b1557a35 .
8341444730923574c149994d205459bc4250d9f5 .
2900797b15d83cdd1e694730382e19d4eb6e9437 .
8871ec3451d544a93ba6cf58fa6e6bf25271c4a3 works
977fe08bf69549506243226a2c8f2488a690b28b broken
93b85201f (tag: 7.0.7-19) broken
f39bfc526 (tag: 7.0.7-21) broken
imagick extension was rebuilt every time

Seems that following commit is causing that issue: ImageMagick/ImageMagick@977fe08

To be sure I’ve rebuilt 7.0.7-21 after doing git revert 977fe08bf69549506243226a2c8f2488a690b28b, and issue is gone.
Hope that was of some help. Will you reopen relative issue upstream or can it be worked around here?

Please note the difference in temporary filenames I’ve written above.
Exception said that the data file is ‘tmp/magick-2365G93po5iLKt4c‘.
After script finished tmp dir contained ‘magick-2365fpSAPDZjCt40‘ and it had valid image.
Code changed upstream that cause the issue is in IsBlobSeekable() function, maybe something in imagick extension is passing invalid file pointer before file is actually read?

@maxrd2 thanks for investigating.

It’s looks pretty clearly like it’s a problem internal to the ImageMagick library, rather than something I’ve mucked up.

Does the commit f59a9b1a4d2f0fff69328271784aeced19289389 fix it for you?

If not, I’d suggest opening an new issue, or commenting on ImageMagick/ImageMagick#945 — as the fix will need to be done there, rather than in Imagick.

@Danack that was some dumb reasoning on me, i was convinced that commit f59a9b1a4d2f0fff69328271784aeced19289389 was included in 7.0.7-21.
Have built the master branch and the problem is gone. Would be much faster if I’d tried that first 🙂
As far as I’m concerned this one can be closed, not sure if @copperseed wants to confirm it too.

@Danack @maxrd2 still having the issue. I’ve downgraded PHP to 7.1.13 and also uninstalled and reinstalled imagick with no luck. Rebuilt Imagemagick itself also (7.0.7-22) all using brew .

I’ve also found that the file name referenced in the error is not the same as files in tmp directory.

@copperseed 7.0.7-21 is broken. Either build master or 7.0.7-18. You can use whatever php-imagick version. Just make sure it’s built against installed imagemagick version.
I think that fix will be released in 7.0.7-23, as it was committed upstream after 7.0.7-22 was released.

@maxrd2 I’ve tried rebuilding with brew using —HEAD which gave me version 7.0.7-23 and also tried 7.0.7-18 as well as earlier versions down to 7.0.7-15 with no luck.

What was your process? Did you use brew or something else?

@copperseed did git clone from https://github.com/ImageMagick/ImageMagick and then built it with configure/make, are you sure php-imagick is not building against system’s imagemagick package?

@maxrd2 I’ve never used make before. Do you have to cd into a specific folder?

@copperseed
Here are the commands I’ve used to build imagemagick — change instdir to where you want files installed to (I suggest NOT to use /usr or similar system location) — do NOT use sudo/root for anything:

Here are the commands I’ve used to build php-imagick — change instdir to where you want files installed to (I suggest NOT to use /usr or similar system location):

Afterwards you can delete build directories from

Источник

I am trying to change configuration from backend & once i click on «Save config» it displaying below error :

Fatal error: Class ‘Imagick’ not found in app/code/local/Aitoc/Aitcg/Model/System/Config/Backend/EnableSvgToPdf.php on line 16 [ $imagick = new Imagick(); ]

<?php

class Aitoc_Aitcg_Model_System_Config_Backend_EnableSvgToPdf extends Mage_Core_Model_Config_Data
{
    public function _beforeSave() {
        parent::_beforeSave();
        if ($this->getValue() == 1)
        {
            exec("convert -version", $out, $rcode); //Try to get ImageMagick "convert" program version number.
            //echo "Version return code is $rcode <br>"; //Print the return code: 0 if OK, nonzero if error.

            if (!($rcode === 0))
                throw Mage::exception('Mage_Core', Mage::helper('aitcg')->__('Requires ImageMagick to be installed at your host and allowed php exec command;  check http://www.imagemagick.org/script/formats.php for possible format conversions'));

            try{
            $imagick = new Imagick();
            }
            catch (Exception $e)
            {
                throw Mage::exception('Mage_Core', Mage::helper('aitcg')->__('Requires ImageMagick to be installed at your host and allowed php exec command;  check http://www.imagemagick.org/script/formats.php for possible format conversions'));
            }
            // return $this->_getPromoBlock();

        }

    }

}

system.log :

Warning: include(Imagick.php): failed to open stream: No such file or directory  in lib/Varien/Autoload.php on line 94
Warning: include(): Failed opening 'Imagick.php' for inclusion (include_path='app/code/local:/app/code/community://app/code/core:/lib:.:/usr/share/php:/usr/share/pear')  in /lib/Varien/Autoload.php on line 94

i followed link & i did changes as mentioned in comments .

  1. added this code : if ($class === 'File') { mageDebugBacktrace(); } in /lib/Varien/Autoload.php on line 94 as here : http://pastebin.com/yiZ0cjVy

also followed answer & added code : <cache><backend><![CDATA[File]]></backend</cache> in app/etc/local.xml as below . but still i am facing same issue.

<config>
    <global>
        <install>
            <date><![CDATA[Thu, 31 Mar 2016 10:28:26 +0000]]></date>
        </install>
        <crypt>
            <key><![CDATA[97855aaa840e2283935951360d376dd3]]></key>
        </crypt>
        <disable_local_modules>false</disable_local_modules>
        <resources>
            <db>
                <table_prefix><![CDATA[]]></table_prefix>
            </db>
            <default_setup>
                <connection>
                   <host><![CDATA[localhost]]></host> 

                    <username><![CDATA[grtrtrtt]]></username>
                    <password><![CDATA[trtrtrtrt]]></password>
                    <dbname><![CDATA[trtrtrtrtrtrtrt]]></dbname>
                    <initStatements><![CDATA[SET NAMES utf8]]></initStatements>
                    <model><![CDATA[mysql4]]></model>
                    <type><![CDATA[pdo_mysql]]></type>
                    <pdoType><![CDATA[]]></pdoType>
                    <active>1</active>
                </connection>
            </default_setup>
        </resources>
        <session_save><![CDATA[files]]></session_save>
    </global>
    <admin>
        <routers>
            <adminhtml>
                <args>
                    <frontName><![CDATA[admin]]></frontName>
                </args>

            </adminhtml>
        </routers>      
    </admin>
    <cache>
    <backend><![CDATA[File]]></backend>    
    </cache>
</config>

or did i wrote code in wrong place in any of above files — Autoload.php / local.xml ?

  • #1

Helped me build the correct API version.

I’ve followed these same steps on Centos 7, EasyApache4, no joy getting ImageMagick to work. I have to provide complete path to pecl since it seems specific to the php version being used:

Code:

/usr/local/cpanel/3rdparty/php/56/bin/pecl config-set bin_dir /opt/cpanel/ea-php56/root/usr/bin/
/usr/local/cpanel/3rdparty/php/56/bin/pecl config-set php_bin /opt/cpanel/ea-php56/root/usr/bin/php/
usr/local/cpanel/3rdparty/php/56/bin/pecl config-set php_ini /opt/cpanel/ea-php56/root/etc/php.ini
pecl install imagick

The output ends with:

Code:

Build process completed successfully
Installing '/opt/cpanel/ea-php56/root/usr/lib64/php/modules/imagick.so'
Installing '/opt/cpanel/ea-php56/root/usr/include/php/ext/imagick/php_imagick_shared.h'
install ok: channel://pecl.php.net/imagick-3.4.3
configuration option "php_ini" is not set to php.ini location
You should add "extension=imagick.so" to php.ini

I have added extension=imagick.so to /opt/cpanel/ea-php56/root/etc/php.ini and restarted apache, but my script stil fails with:

Code:

[23-Jun-2017 11:26:33 UTC] PHP Fatal error:  Class 'Imagick' not found in /home/user/blah/file.php on line 87

Any hints?

cPanelMichael


  • #2

Hello,

Could you upload a PHPINFO file to the same directory of the script you are using to test the installation with to verify it uses the /opt/cpanel/ea-php56/root/etc/php.ini file? If not, you’d need to use the MultiPHP INI Editor in cPanel for this account to ensure «extension=imagick.so» is added.

Thank you.

  • #3

Thanks cPanelMichael,

I remain at a bit of a loss. I tested with phpinfo() already in that website, it shows:

Code:

Loaded Configuration File /opt/cpanel/ea-php56/root/etc/php.ini

I loaded MultiPHP INI Editor as you suggested, and found my ‘extension=imagick.so’ was the first line in the file for some reason. I moved it to below the ‘Dynamic Extensions’ comment in the file (around line 860) where it looked like it belonged, restarted apache server, but still got «Class ‘Imagick’ not found».

phpinfo also shows me:

Code:

extension_dir /opt/cpanel/ea-php56/root/usr/lib64/php/modules

And ‘locate imagick.so’ shows:

Code:

# locate imagick.so
/opt/cpanel/ea-php56/root/usr/lib64/php/modules/imagick.so

So that looks good. As the ini file contains:

Code:

; If you only provide the name of the extension, PHP will look for it in its
; default extension directory.

So just for completeness I tried specifying the full path to the .so:

Code:

extension="/opt/cpanel/ea-php56/root/usr/lib64/php/modules/imagick.so"

I also put a logging line in the actual script I’m running (called UploadFile.php) to be sure nothing in the bootstrap process of the cart I’m using is overwriting these settings other than what phpinfo() shows:

Code:

[24-Jun-2017 03:19:52 UTC] modules include path: /opt/cpanel/ea-php56/root/usr/lib64/php/modules

Seems fine. I’m going to google around more about how the ‘Imagick’ class is supposed to be made available to the PHP code. Is it enough to have the .so file on the extension_dir path, or is there some .php file required somewhere, like a C .h header file would be required as well as the .so? I cannot see any Imagick files in the include_path folder.

Code:

include_path   .:/opt/cpanel/ea-php56/root/usr/share/pear

cPanelMichael


  • #4

Hello,

Feel free to open a support ticket using the link in my signature if you’d like us to take a closer look.

Thank you.

  • #1

пакете ImageMagick для php+Apache+Windows

Привет! Возникла проблема с графическим пакетом ImageMagick для php+Apache+Windows.
Подскажите как установить этот пакет.
Даже не получается вызвать класс Imagick().
Может кто ссылку знает с описанием и ресурсами для скачки.
Спасибо!

Фанат


  • #2

установи просто ImageMagick, и вызывай из командной строки.

  • #3

Да так можно но тогда не доступны стандартные классы из документации такие как Imagick() и ImagickPixel() и там уже много всяких удобных функций!
Можно ли по другому?

Фанат


  • #4

да нафиг они не нужны, эти «удобные функции».
можно. читай документацию.

  • #5

последовательно читаем и выполняем
http://www.php.net/manual/ru/imagick.setup.php#84412

говорим сюда какой пункт не сделан

  • #6

Все сделал по списку!
Во сделал по списку а все равно пишет

Fatal error: Class ‘Imagick’ not found
для кода

/*** new imagick object ***/
$im = new Imagick();

/*** a new image with gradient ***/
$im->newPseudoImage( 40, 200, ‘gradient:red-black’ );

/*** rotate the image ***/
$im->rotateImage(new ImagickPixel(), 270);

/*** set the image format to png ***/
$im->setImageFormat(‘png’);

header( «Content-Type: image/png» );
echo $im;

  • #7

ок.
phpinfo(); — что показывает? есть там хоть слово про ImageMagick ?
если нет, то из какой папки там берется php.ini ? (это видно в самом верху в phpinfo())

а запуск
php.exe -m ?
там про ImageMagick есть что нибудь?

  • #8

php.exe -m хорошая командочка
ошибок целая простыня!
————————————————-
1 — extension=php_mbstring.dll вроде везде прописан и лежит в расширениях но выдает что не может его найти модуль
2 — пишет такое же по поводу extension=php_efix.dll
3 — по imagick есть сообщение в всплывающем окне
procedure entry point DrawDestroyContext could not be located in dynamic link libaray CORE_RL_magick.dll
и еще просто в ком-строке
4 — extension=php_imagick.dll вроде везде прописан и лежит в расширениях но выдает что не может его найти процедуру

а по phpinfo()
——————————————-
PATH c:program filesimagemagick;
упоминание есть но секции отдельной как должно быть нет

  • #9

dll’ки у вас судя по всему либо кривые, либо extension требует других dll

скорее всего вы все таки невнимательно прочитали мануал
php_imagick.dll ищет dll от ImageMagick возможно там переменную окружения еще какую нибудь надо прописать и т.п.

mbstring может конфликтовать с кем то
его лучше первым грузить
в php.ini

Понравилась статья? Поделить с друзьями:
  • Php fatal error cannot use object of type stdclass as array in
  • Pip install pycurl error windows
  • Php fatal error call to undefined function curl init
  • Pip install jupiter notebook error
  • Php fatal error allowed memory size of 2147483648 bytes exhausted tried to allocate 20480 bytes