Установленный 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
Что в результате:
- Команда
php -mилиphp -m | grep imagickпоказывает, что расширение imagick есть. - Однако страница phpinfo не отображает сведений об этом модуле.
- И тестовый php-код с вызовом imagick, который я пытался запустить, говорит "Class 'Imagick' not found."
Что бы это значило? И что делать?
Ответы (1 шт):
Как выяснилось, команда php -m всего лишь отображает файлы расширений, лежащие в каталоге /usr/lib64/php/modules/. И это еще не означает, что все они запущены. Расширение imagick.so запущено не было. Почему? А потому что у всех файлов *.so, лежащих в этой папке, были права доступа 755, разрешавшие запускать их кому угодно. Кроме imagick.so, у которого было 644, т.е. "запускать никому нельзя".
Проблема решилась выставлением этому файлу атрибутов 755, перезапуском httpd и php. После этого php-код с вызовом imagick заработал, и imagick отобразился в phpinfo.