آموزش محدود کردن نسخه‌های PHP در MultiPHP Manager و مدیریت php.ini با PHP‑FPM

این مقاله نحوه محدود کردن نسخه‌های PHP قابل مشاهده برای کاربران در MultiPHP Manager و همچنین مدیریت دستورهای php.ini هنگام فعال بودن PHP‑FPM را توضیح می‌دهد. شامل ساخت Feature List، تنظیم پکیج‌ها، بررسی phpinfo، و ویرایش تنظیمات PHP‑FPM در سطح دامنه و سیستم است.

MultiPHP ManagerPHP-FPM DirectivesLimit PHP Versions

~4 دقیقه مطالعه • بروزرسانی ۲ اسفند ۱۴۰۴

1. محدود کردن نسخه‌های PHP در MultiPHP Manager


cPanel & WHM این امکان را می‌دهد که نسخه‌های خاص PHP را از دید کاربران مخفی کنید. این قابلیت برای جلوگیری از استفاده از نسخه‌های قدیمی یا جلوگیری از ارتقای زودهنگام به نسخه‌های جدید مفید است.


نکته مهم: کاربر می‌تواند با تنظیم نسخه PHP در فایل .htaccess محدودیت‌ها را دور بزند. این قابلیت فقط نسخه‌های قابل انتخاب در MultiPHP Manager را محدود می‌کند.


1.1 پیش‌نیازها


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

  • یک Feature List
  • یک Account Package
  • نسخه‌های نصب‌شده PHP

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


1.2 مراحل اعمال محدودیت


  1. ساخت یا ویرایش Feature List در مسیر:
    WHM » Home » Packages » Feature Manager

  2. غیرفعال کردن نسخه‌های PHP که می‌خواهید برای کاربران مخفی شوند.
    نکات:
    • نسخه‌های جدید PHP پس از نصب، برای همه کاربران قابل مشاهده هستند.
    • محدودیت‌ها شامل تمام نسخه‌های EasyApache 4 و نسخه‌های سفارشی می‌شود.

  3. ساخت یا ویرایش پکیج در WHM:
    WHM » Home » Packages » Add a Package
    یا
    WHM » Home » Packages » Edit a Package

  4. اختصاص Feature List به پکیج.

  5. اختصاص پکیج به کاربران موردنظر در مسیر:
    WHM » Home » Account Functions » Modify an Account

1.3 محدودیت‌ها


کاربر نمی‌تواند نسخه‌های محدودشده را در MultiPHP Manager انتخاب کند. اما مدیر سرور همچنان می‌تواند نسخه محدودشده را برای کاربر تنظیم کند.




2. مدیریت php.ini با PHP‑FPM


این بخش نحوه مدیریت دستورهای php.ini هنگام فعال بودن PHP‑FPM را توضیح می‌دهد.


نکته: می‌توانید دستورهای php.ini را در سطح دامنه و سیستم از طریق MultiPHP Manager ویرایش کنید.


2.1 بررسی فعال بودن PHP‑FPM


  1. ورود به WHM به‌عنوان root.
  2. رفتن به مسیر:
    WHM » Home » Software » MultiPHP Manager
  3. بررسی فعال بودن PHP‑FPM برای دامنه.

PHP‑FPM به‌صورت پیش‌فرض فعال است.


2.2 ساخت فایل phpinfo


برای مشاهده تنظیمات PHP دامنه:


  1. ورود به SSH.
  2. رفتن به Document Root دامنه.
  3. ساخت فایل phpinfo.php با محتوای زیر:



تنظیم دسترسی‌ها:


chmod 0644 /home/username/public_html/phpinfo.php
chown username.username /home/username/public_html/phpinfo.php

باز کردن آدرس:
https://example.com/phpinfo.php
اگر PHP‑FPM فعال باشد، مقدار ServerAPI برابر FPM/FastCGI خواهد بود.


2.3 مشاهده دستورهای php.ini


می‌توانید دستورها را در این مسیرها مشاهده کنید:

  • MultiPHP INI Editor در cPanel (سطح دامنه)
  • MultiPHP INI Editor در WHM (سطح سیستم)

دستورهای پیش‌فرض PHP‑FPM:

php_admin_flag[allow_url_fopen] = on
php_admin_flag[log_errors] = on
php_admin_value[disable_functions] = exec,passthru,shell_exec,system
php_admin_value[doc_root] = "/home/username/public_html"
php_admin_value[error_log] = /home/username/logs/domain_com.php.error.log
php_admin_value[short_open_tag] = on
php_value[error_reporting] = E_ALL & ~E_NOTICE

3. ویرایش دستورهای php.ini


3.1 ویرایش در سطح سیستم


برای ویرایش دستورهای php.ini در سطح سیستم، از MultiPHP INI Editor در WHM استفاده کنید.


برای ویرایش تنظیمات PHP‑FPM:

  1. ورود به SSH.
  2. ساخت مسیر:
    /var/cpanel/ApachePHPFPM
  3. ساخت فایل:
    /var/cpanel/ApachePHPFPM/system_pool_defaults.yaml
  4. افزودن دستورها، مانند:

---
php_admin_value_memory_limit: { name: 'php_admin_value[memory_limit]', value: 120M }

بازسازی تنظیمات PHP‑FPM:


/usr/local/cpanel/scripts/php_fpm_config --rebuild

ری‌استارت سرویس‌ها:


/usr/local/cpanel/scripts/restartsrv_apache_php_fpm
/usr/local/cpanel/scripts/restartsrv_httpd

3.2 ویرایش برای یک دامنه خاص


  1. ورود به SSH.
  2. ساخت فایل:
    /var/cpanel/userdata/username/domain.com.php-fpm.yaml
  3. افزودن دستورهای موردنظر:

غیرفعال کردن passthru و system:

---
_is_present: 1
php_admin_value_disable_functions: { name: 'php_admin_value[disable_functions]', value: passthru,system }

فعال کردن همه توابع:

---
_is_present: 1
php_admin_value_disable_functions: { name: 'php_admin_value[disable_functions]', value: none }

بازسازی تنظیمات PHP‑FPM:


/usr/local/cpanel/scripts/php_fpm_config --rebuild

ری‌استارت سرویس‌ها:


/usr/local/cpanel/scripts/restartsrv_apache_php_fpm
/usr/local/cpanel/scripts/restartsrv_httpd



نتیجه‌گیری


این مقاله تمام مراحل محدود کردن نسخه‌های PHP در MultiPHP Manager و مدیریت دستورهای php.ini با PHP‑FPM را پوشش می‌دهد. با استفاده از این روش‌ها می‌توانید کنترل کامل‌تری بر نسخه‌های PHP و تنظیمات امنیتی و عملکردی دامنه‌ها داشته باشید.


نوشته و پژوهش شده توسط دکتر شاهین صیامی