قد تحتاج إلى ترقية إصدار PHP عند تحديث ووردبريس إلى أحدث إصدار أو تحديث الإضافات المرتبطة به. أوصتني أداة جدار الحماية لديّ بترقية ووردبريس ففعلت، ثم ظهرت لي رسالة التحذير أدناه والموقع متوقف. كنت أرقّي PHP من الإصدار 5.6 إلى 7.4 باستخدام MultiPHP Manager في cPanel.
Warning: Use of undefined constant WP_CONTENT_DIR – assumed ‘WP_CONTENT_DIR’ (this will throw an Error in a future version of PHP) in /home/XXXXX/public_html/wp-includes/load.php on line 115
سأدخل في صلب الموضوع مباشرة. وقع الخطأ لأن معالج PHP الذي أُنشئ تلقائيًا (الإصدار 7.4) في الملف .htaccess تعارض مع معالج PHP آخر (الإصدار 5.6) كان يعمل في الوقت نفسه على الخادم.
كان معالج PHP القديم لديّ يبدو هكذا:
# Use PHP56 as default
AddHandler application/x-httpd-php56 .php
<IfModule mod_suphp.c>
suPHP_ConfigPath /opt/php56/lib
</IfModule>
ويبدو معالج PHP الجديد لديّ هكذا:
# php -- BEGIN cPanel-generated handler, do not edit # Set the “ea-php74” package as the default “PHP” programming language. <IfModule mime_module> AddHandler application/x-httpd-ea-php74 .php .php7 .phtml </IfModule> # php -- END cPanel-generated handler, do not edit
في حالتي، أنشأت الترقية عبر MultiPHP Manager معالج PHP 7.4 في المجلد public_html، بينما كان معالج PHP 5.6 القديم موجودًا أصلًا في المجلد الذي يعلو public_html، أي أعلى من الدليل الجذر. وكان ذلك سبب الخطأ. لا يمكنك تشغيل عدة معالجات PHP لموقع واحد.
حلّي كان ببساطة حذف الملف .htaccess (PHP 5.6) الموجود في مستوى واحد فوق الدليل الجذر (أو إعادة تسميته إن لم ترغب في حذفه). والآن يعمل بشكل ممتاز!
