تغییر ورژن php یک سایت از طریق cpanel خیلی ساده است و کل کاری که باید انجام دهیم اینست که از بخش PHP Selector ورژن موردنظر را با یک کلیک انتخاب کنیم و تمام. اما اخیرا در دایرکتادمین یکی از هاستهای داخلی متوجه شدم که گزینه انتخاب ورژن php مسدود است و پیام خطای زیر نمایش داده میشود:
Cannot manage php versions when CageFS is disabled
خود متن پیام میگوید که تا وقتی CageFS غیرفعال باشد امکان تغییر ورژن php وجود ندارد. CageFS یک سیستم است که هر کاربر را در «قفس» خودش محدود میکند؛ به طوری که در هاستهای اشتراکی کاربران روی یک سرور واحد نتوانند فایلها و اطلاعات همدیگر را ببینند، سهوا یا عمدا تنظیمات (کانفیگ) سرور را دستکاری نکنند، فقط اسکریپها و برنامههای ازپیش تعیینشده و مجاز را اجرا کنند و غیره. در عین این محدودیت، هر کاربر میتواند ابزارهای کاربردی و قابلیتهای مختلفی را در محیط خودش داشته باشد که یکی از آنها تعیین ورژن php است. در نتیجه پیام خطای بالا میگوید که به دلیل غیرفعال بودن CageFS امکان تعیین ورژن php نیست.
برای حل این مشکل قاعدتا یکی از گزینهها میتواند فعالسازی CageFS باشد. اما سادهترین و بیدردسرترین روشی که به آن رسیدم اینست که کد زیر به فایل .htaccess اضافه بشود (ارتقا به نسخه 7.4):
<IfModule mime_module> AddHandler application/x-httpd-ea-php74 .php .php7 .phtml </IfModule>
برای ارتقای php به نسخه 8 هم فقط کافیست که کد بالا به شکل زیر اصلاح بشود (به جای 80 میتواند 81، 82 یا ورژن آپدیتهای بعدی قرار بگیرد):
<IfModule mime_module> AddHandler application/x-httpd-ea-php80 .php .php8 .phtml </IfModule>
وندا نوژن