learn

نصب PHP 8.2 در Rocky Linux 9 و AlmaLinux 9 با PHP-FPM

راهنمای نصب PHP 8.2 برای نیاز نسخه‌ای مشخص، با بررسی پشتیبانی و تنظیم واقعی PHP-FPM.

نصب PHP 8.2 در Rocky Linux 9 یا AlmaLinux 9 زمانی مناسب است که برنامه به این شاخه نیاز دارد و مسیر دریافت اصلاحات آن روشن است. PHP 8.2 آخرین نسخهٔ PHP نیست؛ طبق جدول رسمی، پشتیبانی امنیتی بالادستی آن تا ۳۱ دسامبر ۲۰۲۶ ادامه دارد. سیاست پشتیبانی بستهٔ توزیع را جداگانه بررسی کنید.

بررسی محیط پیش از نصب PHP 8.2

دستورهای زیر برای نصب تازه‌اند. اگر PHP فعال، کنترل‌پنل یا مخزن دیگری دارید، تغییر stream یک ارتقای برنامه‌ریزی‌شده است و نباید با reset یا حذف تصادفی بسته‌ها شروع شود.

cat /etc/os-release
dnf module list php
rpm -q php php-cli php-fpm

در مخازن به‌روز خانوادهٔ EL9، ابتدا شاخهٔ AppStream را بررسی کنید. افزودن Remi، EPEL و فعال‌کردن مخازن دیگر برای همهٔ نصب‌ها الزامی نیست. برای بسته‌ای که از منبع دیگری آمده، دستورهای دو روش را مخلوط نکنید.

نصب از stream موجود

اگر خروجی مخزن، stream رسمی 8.2 را نشان می‌دهد و stream ناسازگاری روی سرور فعال نیست، مطابق الگوی مدیریت PHP در EL9 نصب را انجام دهید:

sudo dnf module install php:8.2/common
sudo dnf install php-cli php-fpm php-mysqlnd php-mbstring php-xml
php -v
php -m
sudo php-fpm -t
sudo systemctl enable --now php-fpm

اکستنشن‌های اضافی را با نیاز برنامه تطبیق دهید. شمارهٔ خروجی نمونهٔ قدیمی 8.2.1 را هدف نصب قرار ندهید؛ اصلاحات جدید بستهٔ منتخب باید دریافت شوند. نام و نسخهٔ بسته‌های نصب‌شده نیز در تشخیص وضعیت اهمیت دارند.

اتصال Apache یا Nginx

یکی از وب‌سرورهای متناسب با محیط را انتخاب کنید؛ نصب و اجرای هم‌زمان هر دو روی یک درگاه بدون طراحی می‌تواند خطای اشغال پورت ایجاد کند. Apache در EL9 معمولاً از PHP-FPM استفاده می‌کند و پیکربندی بسته باید با VirtualHost سایت تطبیق داده شود.

برای Nginx، مقدار fastcgi_pass باید با listen واقعی pool در تنظیمات FPM یکسان باشد. فرض ثابت 127.0.0.1:9000 همیشه درست نیست؛ بسته ممکن است سوکت Unix داشته باشد. نمونهٔ زیر فقط بخش PHP داخل server است و به root صحیح و سوکت تأییدشده نیاز دارد:

location ~ \.php$ {
    try_files $uri =404;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_pass unix:/run/php-fpm/www.sock;
}

مسیر سوکت نمونه را با تنظیم واقعی جایگزین کنید. ACL یا مجوز سوکت باید به کاربر وب‌سرور اجازهٔ اتصال بدهد. مسیرهای قابل بارگذاری کاربر نیز نباید محل اجرای آزاد PHP باشند. پیش از reload از sudo nginx -t یا برای Apache از sudo httpd -t استفاده کنید.

آزمون CLI با آزمون وب فرق دارد

فرمان php -v فقط نسخهٔ CLI را نشان می‌دهد. نسخه و اکستنشن‌های وب را در ابزار سلامت همان برنامه یا صفحهٔ آزمایشیِ محدود به مدیر بررسی کنید. ایجاد صفحهٔ عمومی phpinfo و رها کردن آن اطلاعات محیط را افشا می‌کند.

در خطای 502، وضعیت FPM، نشانی سوکت و اجازهٔ اتصال را ببینید. در خطای 500، گزارش برنامه و FPM را بررسی کنید. تغییر تصادفی SELinux یا بازکردن عمومی درگاه FPM راه‌حل مناسبی نیست. پس از نصب، مسیر ارتقا به شاخهٔ دارای پشتیبانی طولانی‌تر و آزمون سازگاری برنامه را نیز مشخص کنید.

مطالعهٔ مرتبط

بازبینی فنی: ۱۳ آبان ۱۴۰۵. تاریخ انتشار اولیه و نشانی قبلی حفظ شده‌اند.

مطالب مرتبط

ارسال نظر

فهرست مطالب