Установленный imagick не работает на Amazon AWS (Amazon Linux 2)

Запустил на Амазоне инстанс EC2 (Amazon Linux 2) c Apache и PHP 7.2.

Теперь мне нужно поверх всего этого работающее php-расширение imagick.

Я в курсе, что ImageMagick и php-расширение imagick - это две разные вещи. Установил обе:

sudo yum install ImageMagick ImageMagick-devel

sudo yum install php-imagick

sudo service httpd restart

Что в результате:

  1. Команда php -m или php -m | grep imagick показывает, что расширение imagick есть.
  2. Однако страница phpinfo не отображает сведений об этом модуле.
  3. И тестовый php-код с вызовом imagick, который я пытался запустить, говорит "Class 'Imagick' not found."

Что бы это значило? И что делать?


Ответы (1 шт):

Автор решения: eclipse

Как выяснилось, команда php -m всего лишь отображает файлы расширений, лежащие в каталоге /usr/lib64/php/modules/. И это еще не означает, что все они запущены. Расширение imagick.so запущено не было. Почему? А потому что у всех файлов *.so, лежащих в этой папке, были права доступа 755, разрешавшие запускать их кому угодно. Кроме imagick.so, у которого было 644, т.е. "запускать никому нельзя".

Проблема решилась выставлением этому файлу атрибутов 755, перезапуском httpd и php. После этого php-код с вызовом imagick заработал, и imagick отобразился в phpinfo.

→ Ссылка