رفع خطای Your PHP installation appears to be missing the MySQL extension which is required by WordPress
یکی از خطاهایی که روی وردپرس اتفاق میافتد و علت آن هم در پارهای از موارد بسیار گنگ است، خطای نصب نبودن ماژول مورد نیاز PHP برای اتصال به پایگاه دادهٔ MySQL است! در خیلی از مواقع افراد به دنبال بررسی نصب بودن یا نبودن ماژول مربوطه میگردند. اما راه به جایی نمیبرند. چون با بررسیهایی که انجام میشود، متوجه میشوند که ماژول مورد نظر نصب و فعال است! اما مشکل اصلی از جای دیگری است. در این آموزش علاوه بر اینکه به طریقهٔ بررسی نصب و فعال بودن ماژول MySQL روی PHP اشاره میکنیم، که اولیهترین کاری است که باید انجام دهید، به روش ریشهای تر آن که علت اصلی مبهم بودن این مشکل است هم میپردازیم.
عنوان خطایی که در صفحات مختلف وردپرس با آن مواجه میشوید، این است:
Your PHP installation appears to be missing the MySQL extension which is required by WordPress
وردپرس نیاز به اتصال به پایگاه داده دارد که این کار را مثل هر برنامهٔ PHP دیگری، به واسطهٔ یکی از ماژولهای MySQL که روی وب سرور نصب میشود انجام میدهد. حالا این ماژول میتواند MySQLi یا MySQLnd یا هر جایگزین دیگری باشد. در اولین قدم باید مطمئن شویم که این نرم افزار از قبل وجود دارد و فعال است.
بررسی نصب بودن ماژول MySQL روی PHP
برای این کار باید وارد کنترل پنل هاست شد که حالا این کنترل پنل میتواند مختلف باشد. از سی پنل گرفته تا دایرکت ادمین و پلسک. در هر کدام از این کنترل پنلها، بخشی برای مدیریت نسخهی PHP و ماژولهای آن وجود دارد. مثلا در سیپنل این قسمت با نام PHP Selector یا MultiPHP Manager شناخته میشود. اگر هاست از نوع کلود لینوکس باشد، باید وارد PHP Selector شد و از سربرگ اول یعنی Extensions مطمئن شد یکی از افزونههای mysqli یا mysqlnd یا هر دو و یا nd_mysqli فعال باشند. همچنین pdo هم باید فعال باشد.
دقت داشته باشید که برخی از ابزارهای کنترل PHP مثل MultiPHP Manager که در سی پنل وجود دارد، ممکن است به صورت مستقیم به شما اجازهٔ فعال کردن یک ماژول PHP داده نشود. بلکه باید نسخهای از PHP را انتخاب کنید که ماژولهای مورد نیاز شما از قبل روی آن فعال شده است. برای این منظور با مدیر سرور یا پشتیبان هاست در تماس باشید تا ببینید که آنها برای شما چه کاری میتوانند انجام دهند.
یکی از بهترین راهکارها برای بررسی فعال و در دسترس بودن ماژول mysql برای php این است که یک فایل php مثلاً با نام phpinfo.php بسازید و درون آن کدهای زیر را قرار دهید:
<?php
phpinfo();
?>
حالا این سند را روی ریشهٔ هاست خود بگذارید و با نشانی دامنهتان آن را درون مرورگر باز کنید. مثلاً example.com/phpinfo.php
اگر در صفحهای که برایتان باز شد، mysql را جستجو کردید و متوجه شدید که ماژول مورد نظر به مانند تصویر زیر نصب است که نباید مشکلی وجود داشته باشد. اما احتمالاً شما قادر نیستید این بخش را پیدا کنید. پس باید به یکی از روشهای آموزش داده شده در این مقاله عمل کنید.
دلایل دیگر بروز خطای Your PHP installation appears to be missing the MySQL extension which is required by WordPress
خیلی از مواقع کاربران از این موضوع گلایه دارند که فعال بودن ماژول MySQL را بررسی میکنند و میبینند که مشکلی از این حیث نیست! اما همچنان خطای مذکور داده میشود. علت این مشکل کمی حساستر است. در شرایطی که هاست شما از نوع کلود لینوکس است و Cagefs روی هاست شما فعال است، تداخلهایی که در Cagefs هاست شما رخ داده، باعث میشود علی رغم نصب بودن ماژولهای PHP، اما اسکریپت شما آن را تشخیص ندهد.
برای رفع این مشکل حتماً باید با پشتیبان هاست در تماس باشید و آنها این مشکل را رفع کنند. برای رفع آن هم حتماً میبایستی Cagefs user environment کلود لینوکس مربوط به همان کاربر Reset شود. که یک کار تخصصی است و نیاز به دسترسی ریشه به سرور دارد. پس اگر شما خودتان مدیر سرورتان هستید، با ورود به بخش Cloudlinux Manager در کنترل پنل، میتوانید یک بار کاربر را از Cagefs در آورید و مجدد فعالش کنید. بدین ترتیب مشکل رفع خواهد شد.
گاهی از اوقات هم ممکن است به علت قدیمی بودن نسخهٔ وردپرسی که قصد نصب کردنش را دارید، این خطا برگردانده شود. بنابراین در این حالت حتماً باید یک نسخهٔ قدیمی PHP را روی هاست خود فعال کنید که با نسخهٔ وردپرس همخوانی داشته باشد. هر چند که پیشنهاد نمی شود از نسخههای قدیمی وردپرس استفاده کنید، اما در صورت اصرار این راهحلش است.
برخی مواقع هم ممکن است با دستکاریهایی که در اسناد حساس هاست، مثل فایل htaccess. و user.ini یا php.ini انجام دادید، مشکلات این چنینی رخ دهد. این فایلها بسیار حساس هستند و کدهای آن با کوچکترین تغییری ممکن است کل سایت را با مشکل مواجه کنند، یا در بهترین حالت آن یک تغییر جزئی ایجاد کنند که در بلند مدت سایت شما را خراب نمایند! پس با اطلاعات کافی تغییرات حساس را روی سایت اعمال کنید.
این بود از آموزش طریقه برطرف کردن خطای سرویس MySQL که مورد نیاز وردپرس است بر روی سرویسدهندهٔ شما نصب نیست که کمی هوشمندانه باید به سراغ راهکارهای رفع آن رفت.