فایل php.ini یکی از مهمترین فایلهای تنظیماتی در سرورهای دایرکت ادمین است که روی عملکرد، امنیت و سازگاری وبسایتهای PHP تأثیر زیادی دارد. با پیکربندی بهینه، میتوان سرعت پردازش را افزایش داد، از مصرف بیش از حد منابع جلوگیری کرد و امنیت را ارتقا داد. در این مقاله، بهترین تنظیمات php.ini در دایرکت ادمین را بررسی میکنیم تا عملکرد سرور شما به حداکثر برسد.
ما قبلا در مورد اینکه چجوری php.ini رو تغییر بدیم آموزش کاملی رو در وبلاگ میزبان پک نوشتیم.
بهترین تنظیمات php.ini در دایرکت ادمین برای افزایش سرعت و امنیت 🚀
۱. نحوه ویرایش php.ini در دایرکت ادمین
برای ویرایش تنظیمات php.ini، ابتدا باید فایل مربوطه را پیدا کرده و تغییرات لازم را اعمال کنید.
✅ یافتن مسیر php.ini در سرور دایرکت ادمین:
php -i | grep "Loaded Configuration File"
🔹 خروجی این دستور مسیر php.ini را نمایش میدهد.
✅ ویرایش فایل php.ini با ویرایشگر nano:
nano /usr/local/lib/php.ini
پس از اعمال تغییرات، تنظیمات را ذخیره کرده و PHP را ریاستارت کنید:
service php-fpm restart
۲. بهترین تنظیمات php.ini برای دایرکت ادمین
🔹 افزایش عملکرد و بهینهسازی سرعت PHP
برای بهینهسازی سرعت PHP، این مقادیر را تغییر دهید:
memory_limit = 1024M
max_execution_time = 14400
max_input_time = 14400
upload_max_filesize = 1024M
post_max_size = 1024M
opcache.enable = 1
✅ توضیح تنظیمات:
- memory_limit: مقدار رم اختصاص دادهشده به هر اسکریپت PHP را تعیین میکند.
- max_execution_time: حداکثر زمان اجرای یک اسکریپت PHP را مشخص میکند.
- opcache.enable: فعالسازی OPcache برای بهبود عملکرد و کاهش زمان پردازش.
پیشنهاد میکنیم opcache.enable رو فعال نکنید، باعث مشکل های زیادی در صورت عدم کانفینگ مناسب خواهد شد.
🔹 افزایش امنیت PHP در دایرکت ادمین 🔒
برای جلوگیری از حملات و افزایش امنیت PHP، تنظیمات زیر را اعمال کنید:
expose_php = Off
disable_functions = exec, shell_exec, system, passthru, popen, proc_open
allow_url_fopen = Off
session.cookie_httponly = 1
session.cookie_secure = 1
session.use_only_cookies = 1
خطرناکترین فانکشنهای PHP و توضیحات آنها
فانکشن | توضیح | خطرات امنیتی |
---|---|---|
eval() |
اجرای مستقیم کد PHP از رشته متنی | اجرای کد مخرب (RCE)، تزریق کد |
exec() |
اجرای دستورات سیستم عامل | امکان اجرای دستورات خطرناک روی سرور |
system() |
اجرای یک دستور و نمایش خروجی آن | مشابه exec() ، اما خروجی را نمایش میدهد |
shell_exec() |
اجرای دستورات سیستم عامل و دریافت خروجی | اجرای کدهای مخرب و حملات RCE |
passthru() |
اجرای دستور و نمایش مستقیم خروجی | اجرای دستورات خطرناک و نداشتن کنترل روی خروجی |
popen() |
اجرای دستور در پردازش جدید و دریافت استریم | امکان دسترسی به سیستم از طریق استریمهای باز |
proc_open() |
مشابه popen() اما با کنترل بیشتر روی پردازش |
امکان دسترسی گستردهتر به سیستم و فرآیندها |
file_get_contents() |
دریافت محتوای یک فایل یا URL | در صورت فعال بودن allow_url_fopen ، امکان تزریق کد از راه دور (RFI) |
fopen() |
باز کردن فایل برای خواندن/نوشتن | امکان دسترسی و تغییر فایلهای حساس |
unlink() |
حذف یک فایل | امکان حذف فایلهای مهم سیستم |
include() / require() |
بارگذاری و اجرای یک فایل PHP | در صورت کنترل نشدن ورودی، امکان اجرای فایلهای مخرب |
move_uploaded_file() |
جابجایی فایل آپلود شده | اگر کنترل نشود، ممکن است فایلهای اجرایی آپلود و اجرا شوند |
parse_str() |
تجزیه متغیرهای رشتهای به متغیرهای PHP | امکان تغییر مقدار متغیرهای مهم در کد |
base64_decode() |
رمزگشایی از رشتههای Base64 | معمولاً در بدافزارها برای پنهانسازی کدهای مخرب استفاده میشود |
✅ توضیح تنظیمات:
- expose_php = Off: از نمایش نسخه PHP در هدرهای HTTP جلوگیری میکند.
- disable_functions: غیرفعال کردن توابع خطرناک که ممکن است توسط هکرها سوءاستفاده شوند.
- allow_url_fopen = Off: جلوگیری از اجرای فایلهای خارجی توسط PHP برای افزایش امنیت.
🔹 بهینهسازی آپلود فایل و مدیریت فرمها 📂
اگر سایت شما نیاز به آپلود فایل دارد، این تنظیمات ضروری است:
file_uploads = On
upload_max_filesize = 1024M
post_max_size = 1024M
max_input_vars = 14400
✅ توضیح تنظیمات:
- file_uploads = On: امکان آپلود فایل را فعال میکند.
- upload_max_filesize و post_max_size: تعیین حداکثر حجم فایلهای آپلودی.
- max_input_vars: تعداد ورودیهای ارسالشده در فرم را کنترل میکند.
🔹 فعالسازی کش PHP برای افزایش سرعت 🚀
برای فعالسازی OPcache، این مقادیر را تنظیم کنید:
opcache.enable = 1
opcache.memory_consumption = 256
opcache.max_accelerated_files = 100000
opcache.validate_timestamps = 1
opcache.revalidate_freq = 60
✅ توضیح تنظیمات:
- opcache.memory_consumption: مقدار حافظه کش اختصاص دادهشده به OPcache.
- opcache.max_accelerated_files: تعداد فایلهای قابل کش شدن.
۳. ذخیره تغییرات و ریاستارت PHP
پس از انجام تغییرات، برای اعمال تنظیمات، سرویس PHP را ریاستارت کنید:
service php-fpm restart
🔹 اگر از Apache استفاده میکنید:
service httpd restart
🔹 اگر از NGINX استفاده میکنید:
service nginx restart
🔹 اگر از LiteSpeed استفاده میکنید:
service lsws restart
نتیجهگیری ✅ | بهینهسازی PHP در دایرکت ادمین برای بهترین عملکرد
📌 با انجام تنظیمات بالا، میتوانید عملکرد PHP را بهبود ببخشید، سرعت بارگذاری سایت را افزایش دهید و امنیت را ارتقا دهید.
🔥 سوال یا تجربهای در این زمینه دارید؟ در بخش نظرات با ما در میان بگذارید! 🚀