خطای Invalid command suPHP_Engine
خطای Invalid command 'suPHP_Engine' هنگام استارت Apache رخ میدهد. این خطا مشابه خطای php_admin_flag است و نشاندهنده وجود دستور suPHP_Engine در .htaccess یا فایل پیکربندی Apache است، در حالی که ماژول mod_suphp نصب نیست.
دلیل
suPHP یک ماژول قدیمی Apache است که PHP را با مجوز کاربر صاحب فایل اجرا میکند. در سرورهای مدرن، از PHP-FPM به جای suPHP استفاده میشود. اگر سرور از suPHP به PHP-FPM مهاجرت کرده اما دستور suPHP_Engine در .htaccess باقی مانده، Apache خطا میدهد.
رفع
روش ۱: حذف دستور از .htaccess
فایل .htaccess سایتها را بررسی کنید:
grep -r "suPHP" /home/*/domains/*/public_html/.htaccess
خطوط حاوی suPHP_Engine را حذف یا کامنت کنید:
# suPHP_Engine on
# suPHP_ConfigPath /home/user
روش ۲: استفاده از IfModule
اگر نمیخواهید حذف کنید:
<IfModule mod_suphp.c>
suPHP_Engine on
suPHP_ConfigPath /home/user
</IfModule>
روش ۳: حذف از تمام سایتها
find /home -name ".htaccess" -exec sed -i 's/suPHP_Engine/#suPHP_Engine/g' {} +
روش ۴: بازسازی تنظیمات دایرکت ادمین
cd /usr/local/directadmin/custombuild
./build rewrite_confs
مهاجرت به PHP-FPM
suPHP منسوخ شده و PHP-FPM جایگزین آن است:
cd /usr/local/directadmin/custombuild
./build set php1_mode php-fpm
./build php
PHP-FPM سریعتر، امنتر و با LiteSpeed سازگار است.
هاست وردپرس میهن هاستینگ با PHP-FPM مدرن. کانفیگ سرور شامل مهاجرت از suPHP به PHP-FPM. سرور مجازی با CustomBuild.