~4 دقیقه مطالعه • بروزرسانی ۲ اسفند ۱۴۰۴
1. محدود کردن نسخههای PHP در MultiPHP Manager
cPanel & WHM این امکان را میدهد که نسخههای خاص PHP را از دید کاربران مخفی کنید. این قابلیت برای جلوگیری از استفاده از نسخههای قدیمی یا جلوگیری از ارتقای زودهنگام به نسخههای جدید مفید است.
نکته مهم:
کاربر میتواند با تنظیم نسخه PHP در فایل .htaccess محدودیتها را دور بزند. این قابلیت فقط نسخههای قابل انتخاب در MultiPHP Manager را محدود میکند.
1.1 پیشنیازها
برای اعمال محدودیت نسخه PHP نیاز دارید به:
- یک Feature List
- یک Account Package
- نسخههای نصبشده PHP
بهصورت پیشفرض، تمام نسخههای نصبشده PHP برای همه کاربران قابل مشاهده هستند.
1.2 مراحل اعمال محدودیت
- ساخت یا ویرایش Feature List در مسیر:
WHM » Home » Packages » Feature Manager - غیرفعال کردن نسخههای PHP که میخواهید برای کاربران مخفی شوند.
نکات:- نسخههای جدید PHP پس از نصب، برای همه کاربران قابل مشاهده هستند.
- محدودیتها شامل تمام نسخههای EasyApache 4 و نسخههای سفارشی میشود.
- ساخت یا ویرایش پکیج در WHM:
WHM » Home » Packages » Add a Package
یا
WHM » Home » Packages » Edit a Package - اختصاص Feature List به پکیج.
- اختصاص پکیج به کاربران موردنظر در مسیر:
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
- ورود به WHM بهعنوان root.
- رفتن به مسیر:
WHM » Home » Software » MultiPHP Manager - بررسی فعال بودن PHP‑FPM برای دامنه.
PHP‑FPM بهصورت پیشفرض فعال است.
2.2 ساخت فایل phpinfo
برای مشاهده تنظیمات PHP دامنه:
- ورود به SSH.
- رفتن به Document Root دامنه.
- ساخت فایل
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:
- ورود به SSH.
- ساخت مسیر:
/var/cpanel/ApachePHPFPM - ساخت فایل:
/var/cpanel/ApachePHPFPM/system_pool_defaults.yaml - افزودن دستورها، مانند:
---
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 ویرایش برای یک دامنه خاص
- ورود به SSH.
- ساخت فایل:
/var/cpanel/userdata/username/domain.com.php-fpm.yaml - افزودن دستورهای موردنظر:
غیرفعال کردن 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 و تنظیمات امنیتی و عملکردی دامنهها داشته باشید.
نوشته و پژوهش شده توسط دکتر شاهین صیامی