نصب و فعالسازی ماژولهای php

Calendar

انتشار:

1404/08/25
Update Calendar

به روز رسانی:

1404/08/25

هدف این راهنما توضیح مراحل نصب و فعال‌سازی ماژول‌های PHP روی VPS لینوکسی ایران‌سرور است تا بتوانید سرویس‌های خود را بدون خطا اجرا کنید.

مرحله اول: آماده‌سازی سرور

بعد از ورود به سرور از طریق SSH لازم است یک بار مخازن سیستم را به‌روزرسانی کنید تا نصب ماژول‌ها بدون مشکل انجام شود. در اوبونتو و دبیان دستور apt update و در RHEL یا سنت‌اواس دستور yum update -y این کار را انجام می‌دهد. این کار باعث می‌شود آخرین نسخه بسته‌ها برای نصب ماژول‌های PHP در دسترس باشد.

نمای اجرای update

مرحله دوم: بررسی نسخه PHP فعال

برای نصب درست ماژول‌ها باید نسخه فعال PHP را بدانید. با اجرای دستور php -v می‌توانید نسخه‌ای که در حال استفاده است را مشاهده کنید. اگر چند نسخه PHP نصب باشد انتخاب نسخه صحیح برای نصب ماژول‌ها مهم است تا تداخلی در عملکرد ایجاد نشود.

نمای خروجی php -v

مرحله سوم: نصب ماژول‌های PHP

در اوبونتو ماژول‌ها به‌صورت نسخه‌دار نصب می‌شوند. کافیست نسخه PHP و نام ماژول را در دستور قرار دهید. برای نمونه، دستور زیر ماژول‌های پر استفاده را نصب می‌کند:

apt install php8.1-mbstring php8.1-xml php8.1-curl php8.1-zip php8.1-gd php8.1-mysql

در اوبونتو 22 و 24 پکیج‌های PHP به‌صورت نسخه‌دار مثل php8.1-xxx وجود ندارند و با استفاده از دستور زیر سیستم خودش تشخیص می‌دهد که نسخه فعال روی سرور شما مثلا PHP 8.2 است و ماژول را برای همان نسخه نصب می‌کند.

apt install php-mbstring php-xml php-curl php-zip php-gd php-mysq

در صورت نیاز می‌توانید ماژول‌های دیگری مانند intl را نیز با همین ساختار نصب کنید. اوبونتو بسته‌های مرتبط را به‌صورت خودکار نصب و فعال می‌کند.

در دبیان روش مشابه اوبونتو است اما در برخی نسخه‌ها امکان نصب ماژول بدون ذکر شماره نسخه وجود دارد. اگر نسخه PHP پیش‌فرض مشخص باشد می‌توانید از دستور زیر استفاده کنید:

apt install php-mbstring php-xml php-curl php-zip php-gd php-mysql

در صورت وجود چند نسخه PHP بهتر است شماره نسخه را در نام بسته مشخص کنید.

در توزیع‌های مبتنی بر RHEL قبل از نصب باید مخازن EPEL و Remi فعال شوند تا نسخه‌های جدید PHP و ماژول‌ها قابل نصب باشند. پس از فعال‌سازی مخازن می‌توانید ماژول‌های موردنیاز را نصب کنید:

yum install php-mbstring php-xml php-curl php-zip php-gd php-mysqlnd

دقت کنید که بدون فعال‌سازی مخزن Remi ممکن است بسته‌ها با نسخه قدیمی نصب شوند.

نصب ماژول‌های PHP

مرحله چهارم: بررسی فعال بودن ماژول‌ها

پس از نصب ماژول‌ها با اجرای دستور php -m می‌توانید ببینید آیا ماژول‌ها فعال شده‌اند یا خیر. اگر ماژولی در لیست نبود ممکن است فقط نصب شده باشد اما هنوز فعال نشده باشد و باید تنظیمات PHP بررسی شود.

بررسی فعال بودن ماژول‌ها

مرحله پنجم: فعال‌سازی ماژول‌های غیرفعال از طریق php.ini

در برخی موارد با وجود اینکه ماژول‌های PHP نصب شده‌اند اما هنوز فعال نیستند و در خروجی دستور php -m دیده نمی‌شوند. در این شرایط لازم است فایل php.ini نسخه فعال PHP را ویرایش کنید. مسیر فایل بسته به نوع وب‌سرور (Apache یا Nginx) متفاوت است.

اگر از Apache استفاده می‌کنید فایل تنظیمات در مسیر /etc/php/8.2/apache2/php.ini قرار دارد و اگر وب‌سرور شما Nginx است باید فایل نسخه FPM را در مسیر /etc/php/8.2/fpm/php.ini باز کنید. در هر دو حالت میتوانید فایل را با دستور nano باز کنید و خطوط مربوط به ماژول‌هایی مانند mbstring یا curl را پیدا کرده و علامت ; ابتدای آن‌ها را حذف کنید تا فعال شوند.

نمونه این خطوط به صورت extension=mbstring و extension=curl است. اگر این خطوط در فایل وجود نداشت می‌توانید به‌صورت دستی آن‌ها را اضافه کنید. پس از اعمال تغییرات فایل را ذخیره کرده و برای اعمال نهایی تنظیمات باید سرویس وب را ری‌استارت کنید تا PHP تغییرات جدید را شناسایی کند.

فعال‌سازی ماژول‌های غیرفعال

مرحله ششم: ری‌استارت سرویس وب

برای اعمال تغییرات PHP و ماژول‌ها لازم است سرویس وب ری‌استارت شود. اگر از Apache استفاده می‌کنید دستور

systemctl restart apache2

کافی است. اگر از Nginx و PHP-FPM استفاده می‌کنید لازم است هر دو سرویس ری‌استارت شوند:

systemctl restart php8.1-fpm
systemctl restart nginx

ری‌استارت سرویس وب

مرحله هفتم: ایجاد فایل phpinfo برای تست نهایی

برای اطمینان نهایی از فعال شدن ماژول‌ها می‌توانید یک فایل phpinfo ایجاد کنید. در مسیر /var/www/html یک فایل ایجاد کرده و کد زیر را داخل آن قرار دهید:

<?php phpinfo(); ?>

با باز کردن این فایل در مرورگر می‌توانید وضعیت ماژول‌ها و پیکربندی کامل PHP را مشاهده کنید.

باز کردن صفحه تست در مرورگر

در پایان با انجام این مراحل می‌توانید مطمئن شوید ماژول‌های PHP به‌درستی روی سرور نصب و فعال شده و آماده استفاده در پروژه‌ها و سرویس‌های مختلف هستند.

آیا توانستیم چالش شما را حل کنیم؟