@mmailcompany

Почему не удаётся запустить imagick на php 8.2, 8.3?

На винде 10 стоит связка Nginx - Apache - PHP (7.4 и 8.0) в портабл режиме. Решил добавить свежие версии PHP. И тут пошла песня.
Ссылки откуда качал PHP и imagick.

PHP 8.1. вообще не захотела работать, как ни крутил.

логи

PHP Warning:  PHP Startup: Unable to load dynamic library 'bz2' (tried: ... ) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'curl' (tried: ... ) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'mbstring' (tried: ... ) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'exif' (tried: ... ) in Unknown on line 0
PHP Warning:  PHP Startup: ftp: Unable to initialize module\nModule compiled with module API=20210902\nPHP    compiled with module API=20200930\nThese options need to match\n in Unknown on line 0
PHP Warning:  PHP Startup: fileinfo: Unable to initialize module\nModule compiled with module API=20210902\nPHP    compiled with module API=20200930\nThese options need to match\n in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'gd' (tried: ... ) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'gettext' (tried: ... ) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'imagick' (tried: ... ) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'intl' (tried: ... ) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'mysqli' (tried: ... ) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'odbc' (tried: ... ) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'openssl' (tried: ... ) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_mysql' (tried: ... ) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_pgsql' (tried: ... ) in Unknown on line 0

....


Ну ладно, PHP 8.1 не принципиально. Скачал PHP 8.2 и 8.3. настроил ini файл. Всё работает отлично. Качал x64 Thread Safe, что PHP, что imagick.
Добавляю обычным способом imagick к PHP:

66989b7e38d06104203614.png
Результат: расширение не запускается согласно логам, аналогично логам выше, но только imagick.

Указывал и extension=php_imagick.dll, и extension=imagick.
Пробовал другие версии imagick, всяко скрещивал, просто менял сам файл php_imagick.dll (бывало такое в других версиях).
Выдергивал даже PHP8.3 с OpenServer и логи не давали ошибок, но вордпресс в здоровье сайта пишет, что нет расширения, а также отсутствует инфа в функции phpinfo().
В переменные среды - Path, разумеется пути указывал (старые удалял).
через power shell командой php -i проверял, всегда показывало, что imagick есть и версия та, которую ставил.
В общем, идеи закончились.
Быть может есть ссылки на какие-либо источники с работающими архивами/мануалы альтернативного способа установки imagick...
  • Вопрос задан
  • 359 просмотров
Решения вопроса 2
V_A_B
@V_A_B
¯\_(ツ)_/¯
Попробуйте перекинуть сборку на чистую систему и перед запуском настройте одну из свежих версий. Должно работать. Ссылка, которая в вопросе на imagick указана, актуальна (ставил).

так она стоит и работает отлично (в вопросе написано).


Как вариант можно переименовать/удалить папки ранее используемых версий php ибо:

PHP 8.1. вообще не захотела работать, как ни крутил


какой-то конфликт между версиями есть, если 8.1 вовсе не стартовала...

Ну и в переменных средах лучше по убирать все от прежних версий, если осталось.
Железо, на всякий, тоже ребутните.
Ответ написан
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
через power shell командой php -i проверял, всегда показывало, что imagick есть и версия та, которую ставил.
Это говорит о том, что меняли вы не тот php.ini, так как для командной строки и для модуля апача/демона для нжинкса php.ini лежит в другом месте. Тут надо запускать через веб сервер пхп файлик с phpinfo();

а также отсутствует инфа в php info.
Значит просто не туда смотрели. Ищите на страничке ini, смотрите где физически лежит ини файл для веба и меняйте настройки в нем.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы