MultiPHP INI Editor جایی است که رفتار PHP را برای هر دامنه تنظیم می‌کنید: چقدر حافظه بگیرد، چند ثانیه اجازه‌ی اجرا داشته باشد، تا چه حجمی فایل بپذیرد و خطاها را نشان بدهد یا نه. تغییر با زدن Apply همان لحظه اعمال می‌شود. این ابزار نسخه‌ی PHP را عوض نمی‌کند؛ آن کار MultiPHP Manager است.

دو ابزار با نام شبیه

ابزار کارش
MultiPHP Manager انتخاب نسخه‌ی PHP هر دامنه (تغییر نسخه PHP)
MultiPHP INI Editor تنظیم مقدارهای داخل همان نسخه

باز کردن

  1. در سی‌پنل، بخش Software، روی MultiPHP INI Editor بزنید.
  2. از فهرست، مکان را انتخاب کنید: Home Directory برای کل هاست، یا نام یک دامنه برای فقط همان.
  3. جدول تنظیمات باز می‌شود. بالای آن مسیر فایل و نسخه‌ی PHP فعلی نوشته شده.
MultiPHP INI Editor سی‌پنل در حالت Basic Mode با تنظیمات PHP یک دامنه
حالت Basic Mode؛ بعد از انتخاب مکان، هر ردیف یک تنظیم است

گزینه‌های Basic Mode

تنظیم کارش مقدار معقول
memory_limit حافظه‌ی هر اجرای PHP 256M؛ برای فروشگاه و صفحه‌ساز 512M
max_execution_time حداکثر زمان اجرای یک اسکریپت (ثانیه) ۶۰ تا ۱۲۰؛ برای درون‌ریزی موقتاً ۳۰۰
max_input_time زمان مجاز برای دریافت داده‌ی فرم و آپلود ۶۰ تا ۱۲۰
upload_max_filesize بزرگ‌ترین فایل قابل آپلود 64M تا 128M
post_max_size بزرگ‌ترین درخواست؛ برابر یا بیشتر از بالایی مثل بالا یا کمی بیشتر
max_input_vars تعداد فیلدهای یک فرم ۳۰۰۰؛ برای منوهای بزرگ و صفحه‌ساز بیشتر
display_errors نمایش خطا روی صفحه خاموش روی سایت اصلی
log_errors ثبت خطا در فایل روشن
error_log نام فایل لاگ پیش‌فرض
allow_url_fopen اجازه‌ی باز کردن آدرس اینترنتی با توابع فایل فقط اگر اسکریپت لازم دارد
file_uploads اجازه‌ی آپلود روشن
zlib.output_compression فشرده‌سازی خروجی PHP معمولاً خاموش؛ وب‌سرور خودش فشرده می‌کند
session.gc_maxlifetime عمر سشن (ثانیه) پیش‌فرض

سه سناریوی رایج

مشکل چه چیزی را عوض کنم
آپلود قالب یا افزونه خطای حجم می‌دهد upload_max_filesize و post_max_size (جزئیات)
خطای Allowed memory size exhausted memory_limit (خطای Memory Limit)
درون‌ریزی وسط کار قطع می‌شود max_execution_time و max_input_time
منو یا تنظیمات قالب ذخیره نمی‌شود max_input_vars
صفحه‌ی سفید؛ می‌خواهم خطا را ببینم display_errors را موقتاً روشن کنید، بعد خاموش

display_errors را روشن نگذارید

وقتی روشن است، هر خطای PHP با مسیر کامل فایل‌ها روی صفحه چاپ می‌شود. برای عیب‌یابی چنددقیقه‌ای خوب است، ولی روی سایت اصلی هم ظاهر را خراب می‌کند و هم اطلاعاتی به مهاجم می‌دهد. بعد از دیدن خطا خاموشش کنید و خطاها را از فایل لاگ بخوانید. (خواندن لاگ خطا)

Editor Mode

زبانه‌ی دوم، متن خام فایل تنظیمات را نشان می‌دهد و هر دستور معتبری را می‌شود در آن نوشت، مثلاً date.timezone = Asia/Tehran. این حالت برای کسی است که می‌داند چه می‌نویسد؛ یک خط اشتباه می‌تواند سایت را با خطای ۵۰۰ پایین بیاورد. قبل از ذخیره، متن فعلی را جایی کپی کنید.

تنظیم‌ها کجا ذخیره می‌شوند؟

این ابزار سه فایل در پوشه‌ی انتخاب‌شده می‌نویسد: php.ini، .user.ini و بخشی در .htaccess. دو نتیجه‌ی عملی دارد:

  • آن بلوک را در htaccess دستی ویرایش یا حذف نکنید؛ بالایش نوشته که خودکار ساخته شده.
  • اگر هنگام جابه‌جایی سایت، htaccess را با نسخه‌ی دیگری جایگزین کنید، تنظیم‌ها برمی‌گردند و باید دوباره Apply بزنید.

مقدار بالاتر همیشه بهتر نیست

این تنظیم‌ها سقف هر اجرا هستند، نه منابع اضافه. مجموع مصرف سایت را همچنان سقف پلن تعیین می‌کند. اگر memory_limit را ۲ گیگابایت بگذارید و پلن همان‌قدر حافظه داشته باشد، یک اسکریپت معیوب می‌تواند کل سهم سایت را بگیرد و بقیه‌ی بازدیدکننده‌ها خطا ببینند. (Resource Usage)

سوال‌های رایج

تغییر دادم ولی سایت هنوز مقدار قبلی را نشان می‌دهد.

احتمالاً دامنه‌ی دیگری را انتخاب کرده‌اید، یا فایل تنظیم دیگری در پوشه‌ی سایت مقدار را برمی‌گرداند، یا وردپرس در wp-config سقف جدا دارد.

تنظیم Home Directory با تنظیم دامنه فرق دارد؟

تنظیم دامنه فقط برای همان پوشه و زیرپوشه‌هایش است و بر تنظیم کلی اولویت دارد.

با تغییر نسخه‌ی PHP این تنظیم‌ها می‌ماند؟

بیشترشان بله، ولی بعد از تغییر نسخه یک بار این صفحه را باز و بررسی کنید. (بهترین تنظیمات PHP برای وردپرس)