نصب Imagick روی اوبونتو

نصب Imagick روی اوبونتو

آموزش کامل نصب و فعال‌سازی افزونه Imagick برای PHP روی اوبونتو. مراحل نصب ImageMagick و php-imagick به همراه رفع خطاهای رایج.

افزونه Imagick یکی از مهم‌ترین ابزارهای پردازش تصویر در PHP است که برای بسیاری از CMS‌ها مانند وردپرس، مجنتو و لاراول ضروری می‌باشد. در این آموزش، روش نصب و فعال‌سازی ImageMagick و افزونه php-imagick روی اوبونتو را به صورت گام به گام توضیح می‌دهیم.

پیش‌نیازها

قبل از شروع نصب، اطمینان حاصل کنید که:

  • دسترسی root یا sudo به سرور اوبونتو دارید
  • PHP روی سرور نصب است (در این آموزش از PHP 8.x استفاده می‌کنیم)
  • وب‌سرور (Apache یا Nginx) نصب و پیکربندی شده است

نصب ImageMagick

ابتدا لیست پکیج‌ها را به‌روزرسانی کرده و سپس ImageMagick را نصب می‌کنیم:

sudo apt update
sudo apt install imagemagick -y

پس از نصب، می‌توانید نسخه نصب شده را بررسی کنید:

convert --version

خروجی باید چیزی شبیه این باشد:

Version: ImageMagick 6.9.11-60 Q16 x86_64 2022-07-21 https://imagemagick.org
Copyright: (C) 1999-2022 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI OpenMP(4.5) 
Delegates (built-in): bzlib cairo fontconfig freetype jng jpeg lcms lqr ltdl lzma openexr pangocairo png tiff webp x xml zlib

نصب افزونه PHP Imagick

حالا افزونه PHP Imagick را نصب می‌کنیم. نام پکیج به نسخه PHP شما بستگی دارد. برای PHP 8.1، دستور زیر را اجرا کنید:

sudo apt install php8.1-imagick -y

اگر از نسخه دیگری از PHP استفاده می‌کنید، عدد نسخه را متناسباً تغییر دهید (مثلاً php7.4-imagick یا php8.2-imagick).

پس از نصب، سرویس وب‌سرور خود را ری‌استارت کنید:

برای Apache:

sudo systemctl restart apache2

برای Nginx و PHP-FPM:

sudo systemctl restart php8.1-fpm
sudo systemctl restart nginx

تأیید نصب

برای اطمینان از نصب صحیح Imagick، یک فایل PHP با محتوای زیر ایجاد کنید:

<?php
phpinfo();
?>

این فایل را در مسیر قابل دسترس وب‌سرور ذخیره کرده و به آن دسترسی پیدا کنید. در خروجی phpinfo به دنبال بخش "imagick" بگردید. همچنین می‌توانید از دستور زیر استفاده کنید:

php -m | grep imagick

اگر imagick در لیست ظاهر شود، نصب موفقیت‌آمیز بوده است.

رفع خطاهای رایج

مشکل 1: عدم نمایش Imagick در phpinfo

اگر با وجود نصب، Imagick در phpinfo نمایش داده نمی‌شود:

  1. اطمینان حاصل کنید که فایل پیکربندی افزونه ایجاد شده است:
ls -la /etc/php/8.1/mods-available/ | grep imagick

اگر وجود دارد، بررسی کنید که در مسیر مناسب فعال شده باشد:

ls -la /etc/php/8.1/cli/conf.d/ | grep imagick
ls -la /etc/php/8.1/fpm/conf.d/ | grep imagick

اگر وجود ندارد، می‌توانید به صورت دستی لینک سمبلیک ایجاد کنید:

sudo ln -s /etc/php/8.1/mods-available/imagick.ini /etc/php/8.1/cli/conf.d/20-imagick.ini
sudo ln -s /etc/php/8.1/mods-available/imagick.ini /etc/php/8.1/fpm/conf.d/20-imagick.ini

مشکل 2: خطای "policy 'pattern' not allowed" در ImageMagick

گاهی ImageMagick به دلایل امنیتی برخی عملیات را محدود می‌کند. برای رفع این مشکل:

  1. فایل policy.xml را باز کنید:
sudo nano /etc/ImageMagick-6/policy.xml

خط زیر را پیدا کرده و آن را تغییر دهید یا کامنت کنید:

<!-- <policy domain="path" rights="none" pattern="@*" /> -->

همچنین خط مربوط به محدودیت PDF را پیدا کرده و rights را از "none" به "read|write" تغییر دهید:

<policy domain="coder" rights="read|write" pattern="PDF" />

پس از ذخیره تغییرات، وب‌سرور را ری‌استارت کنید.

راه‌اندازی وب‌سایت خود با میزبانی کانتینری Apploud

تجربه میزبانی مدرن، امن و مقیاس‌پذیر را همین امروز آغاز کنید. با استفاده از کد تخفیف BLOG15 از ۱۵٪ تخفیف در سرویس‌های میزبانی کانتینری بهره‌مند شوید.

مشاهده تعرفه‌ها