اگر شما نیز از سیپنل برای مدیریت سایت خود استفاده میکنید، احتمالاً با بخش “Select PHP Version” آشنا هستید. این ابزار به شما این امکان را میدهد که نسخه PHP دلخواه خود را انتخاب کرده و تنظیمات آن را اعمال کنید. با این حال، گاهی اوقات ممکن است با وجود انتخاب و اعمال تنظیمات، سایت شما همچنان دچار خطا شده یا افزونهها به درستی فعال نشوند. یکی از دلایل شایع این مشکل، وجود دستورات اضافی در فایل .htaccess است که میتواند تنظیمات نسخه PHP را بازنویسی کند. در این مقاله، به بررسی این مشکل و روشهای رفع آن خواهیم پرداخت.
تفاوت بین ea-php و alt-php چیست؟
قبل از پرداختن به راهحل، باید تفاوت این دو نسخه را درک کنید:
ea-php (EasyApache PHP)
ea-php نسخه پیشفرضی است که توسط EasyApache مدیریت میشود. اگر فایل .htaccess شامل دستورات مرتبط با این نسخه باشد، تنظیمات “Select PHP Version” بیاثر خواهد شد.
alt-php (Alternative PHP)
alt-php توسط CloudLinux ارائه میشود و به شما امکان میدهد افزونهها و نسخههای مختلف PHP را از طریق “Select PHP Version” فعال کنید. این تنظیمات تنها زمانی اعمال میشوند که فایل .htaccess با آنها تداخلی نداشته باشد.
علائم و نشانههای مشکل در فعالسازی افزونههای PHP در سیپنل
- تنظیمات PHP در بخش “Select PHP Version” اعمال نمیشود
زمانی که نسخه PHP یا افزونههای مختلف مثل mysqli, Imagick, یا ionCube Loader را از بخش “Select PHP Version” انتخاب میکنید و تغییرات را ذخیره میکنید، اما تغییرات بهدرستی در سایت اعمال نمیشوند. - عدم تغییر نسخه PHP در سایت پس از ذخیره تنظیمات
پس از ذخیره تنظیمات جدید در “Select PHP Version”، نسخه PHP تغییر نمیکند و همچنان نسخه پیشفرض مثل ea-php فعال باقی میماند، حتی اگر شما نسخه جدیدتری را انتخاب کرده باشید. - نمایش نسخه اشتباه در فایل phpinfo()
پس از ایجاد فایل info.php و باز کردن آن در مرورگر، مشاهده میکنید که نسخه PHP همچنان به نسخهای مانند ea-php تنظیم شده است، حتی اگر در تنظیمات “Select PHP Version” نسخه دیگری را انتخاب کرده باشید. - بروز خطاهای مربوط به افزونهها
در صورتی که افزونههایی مثل mysqli, Imagick یا ionCube Loader را فعال کردهاید، اما هنوز در سایت با خطاهایی روبهرو میشوید که نشان میدهند این افزونهها بهدرستی فعال نشدهاند.
این علائم معمولاً نشاندهنده این هستند که تنظیمات PHP بهدرستی اعمال نشده و احتمالاً دستورات موجود در فایل .htaccess مانع اعمال تغییرات شدهاند.
پیشنهاد مطالعه: تغییر نسخه php و تنظیم ماژول ها در سی پنل |
مراحل رفع مشکل فعالسازی افزونههای PHP در سی پنل
بررسی و ویرایش فایل .htaccess
وارد “File Manager” در سی پنل شوید.
فایل .htaccess را در پوشه اصلی سایت (public_html) پیدا کرده و باز کنید.
اگر خطوطی مشابه این موارد را پیدا کردید:
<IfModule mime_module>
AddHandler application/x-httpd-ea-php74 .php .php7 .phtml
</IfModule>
این خطوط باعث میشوند تنظیمات PHP به نسخه ea-php تغییر کند و گزینه “Select PHP Version” کار نکند.
این خطوط را حذف کنید.
تغییرات را ذخیره کرده و فایل را ببندید.
تنظیم مجدد نسخه PHP و افزونهها
دوباره به بخش “Select PHP Version” بروید.
نسخه PHP مورد نظر خود را انتخاب کنید (مثلاً 7.4 یا 8.0).
افزونههای مورد نیاز مثل mysqli, Imagick, یا ionCube Loader را فعال کنید.
تغییرات را ذخیره کنید.
تست تنظیمات PHP
یک فایل به نام info.php در پوشه اصلی سایت (public_html) بسازید.
کد زیر را در آن قرار دهید:
<?php
phpinfo();
?>
سپس فایل info.php را در مرورگر باز کنید.
بررسی کنید که آیا نسخه PHP و افزونهها به درستی فعال شدهاند یا نه.
حذف فایل info.php پس از اطمینان از صحت تنظیمات
وقتی مطمئن شدید که همه چیز به درستی تنظیم شده، فایل info.php را حذف کنید تا از افشای اطلاعات سرور جلوگیری شود.
با انجام این مراحل، باید بتوانید افزونههای PHP را در سی پنل به درستی فعال کنید و مشکلات مربوط به تنظیمات PHP را برطرف کنید.
چرا فایل .htaccess باعث این مشکل میشود؟
فایل .htaccess برای مدیریت تنظیمات سرور استفاده میشود. گاهی اوقات این فایل بهصورت پیشفرض یا توسط یک افزونه یا اسکریپت خاص تغییر میکند و دستورات مرتبط با ea-php به آن اضافه میشود. این دستورات تنظیمات “Select PHP Version” را نادیده میگیرند و باعث بروز مشکلاتی در فعالسازی افزونههای PHP میشوند.
نکات مهم برای جلوگیری از مشکلات آینده
بکاپگیری: قبل از هر تغییری در فایل .htaccess، از آن یک نسخه پشتیبان تهیه کنید.
سازگاری افزونهها: مطمئن شوید که نسخه PHP انتخابی شما با تمامی افزونهها و قالب سایت سازگار است.
جمعبندی
فعال نشدن افزونههای PHP در سی پنل مشکلی شایع است که معمولاً به فایل .htaccess مربوط میشود. با حذف دستورات اضافی این فایل و تنظیم مجدد نسخه PHP و افزونهها، میتوانید این مشکل را بهراحتی حل کنید. در صورت بروز مشکلات دیگر، حتماً با متخصصان یا تیم پشتیبانی سرور خود مشورت کنید.
منبع: [beyondmydoor.com, stackoverflow.com]