اگر با نرم افزار XAMPP سروکار داشته باشید قطعا حداقل یکبار در اجرای آن به خطا برخورده اید. و یا اگر این طور نباشد در آینده این اتفاق خواهد افتاد.  برای حل این مشکلات راه حل های بسیار ساده ای وجود دارد که در ادامه به بررسی آنها خواهیم پرداخت.

XAMPP چیست؟

XAMPP یک بسته نرم‌افزاری است که برای سهولت در نصب و پیکربندی محیط توسعه وب بر روی کامپیوترها استفاده می‌شود. این بسته شامل چندین نرم‌افزار است که برای توسعه و اجرای وبسایت‌ها و برنامه‌های وب استفاده می‌شود. نام XAMPP از اولین حرف‌های Apache، MySQL، PHP و Perl گرفته شده است که همگی اجزای این بسته هستند. استفاده از XAMPP به توسعه‌دهندگان وب کمک می‌کند تا بدون نیاز به نصب و پیکربندی جداگانه این نرم‌افزارها، به راحتی وبسایت‌ها و برنامه‌های خود را توسعه و تست کنند.

اگر به تازگی یادگیری وردپرس را شروع کرده باشید احتمالا تهیه یک هاست و دامنه واقعی برای شما چندان صرف اقتصادی نداشته باشد و بخواهید در ابتدا یک سرور محلی روی سیستم خود داشته باشید.  اما برای استفاده از هر ابزاری باید راه های رفع خطاهای احتمالی را نیز بدانید.

رفع خطای  MySQL در XAMPP

MySQL error in XAMPP

یکی  از رایج ترین مشکلات، خطای استارت شدن  پایگاه داده MySQL می‌باشد اما   این مشکل عموما به دو دلیل رخ میدهد:

  1. خطا در بارگذاری فایل های پوشه Data.
  2. اشغال بودن پورت پیش‌فرض  اجرای پایگاه داده.

پورت پیشفرض پایگاه داده در زمپ پورت 3306 است و این پورت معمولا توسط نرم افزار های دیگر اشغال نمیشود. تنها برخی از نرم افزار های مدیریت دیتابیس و پایگاه داده از جمله MySQL از آن استفاده میکند پس اگر با نرم افزار های مدیریت پایگاه داده دیگری سروکار نداشته باشید و تنها از  زمپ استفاده میکنید احتمالا مشکل شما با راه حل اول حل خواهد شد.

راه حل اول:

برای اطمینان بیشتر از این که مشکل شما مربوط به پوشه Data برنامه است روی دکمه Logs در  جلوی  MySQL کلیک کنید و با باز کردن فایل mysql_error در نوت پد، به انتهای آن رفته و آخرین خطاها را مشاهده کنید.

open mysql error logs

اگر با همچین عبارتی مواجه شدید میتوانید مطمئن باشید که مشکل شما با استفاده از این راه حل به خوبی برطرف میشود

mysql error logs برای حل آن مراحل زیر را دنبال کنید.

  1. ابتدا همه سرویس های زمپ را stop کرده و آن را به طور کامل ببندید(فراموش نکنید اجرای آن را در پس زمینه هم متوقف کنید)
  2. به مسیر نصب زمپ بروید و  پوشه پایگاه داده خود را را باز کنید. مسیر پیشفرض در صورتی که موقع نصب آن را تغییر نداده باشید این مسیر است. C:\xampp\mysql

fix data error in mysql XAMPP

  1. در این پوشه یک پوشه با نام data وجود دارد، نام آن را به data-old یا هر نام دیگری که خواستید تغییر دهید چون قرار است مجدد پوشه data را خودمان بسازیم.
  2. پوشه جدیدی بسازید و نام آن را data قرار دهید.
  3. یک پوشه دیگر به نام backup وجود دارد. آن را باز کنید و تمام محتویات آن را در پوشه data جدید کپی کنید
  4. در پوشه data-old فقط همه پوشه هایی که وجود دارد را به جز این چهار پوشه  mysql, test, performance_schema و phpmyadmin  کپی کرده و در پوشه data که خودتان ساختید Paste کنید.
  5. مجددا به پوشه data-old برگردید و فایل  ibdata1 را هم کپی کرده و در پوشه data بریزید(توجه کنید که فعلا تا از اجرای صحیح پایگاه داده مطمئن نشدید هیچ کدام فایل ها و پوشه ها را از مسیر قبلی خود حذف یا cut نکنید)

add ibdata1 to new data directory

  1. معمولا در این مرحله باید مشکل شما حل شده باشد و میتوانید برنامه زمپ را اجرا کرده و سرویس های خود را استارت کنید اما برای اطمینان بهتر است قبل از اجرای آن یکبار سیستم خود را ری استارت کنید.

مشکل پورت MySql در Xampp

اگر فکر میکنید مشکل شما از فایل های Data نیست پس احتمالا به هر دلیلی پورت  مورد استفاده برای پایگاه داده شما اشغال شده. در ابتدا به این موضوع اشاره کردیم که پورت  پیشفرض 3306 است و برای این که  سرویس شما بتواند شروع به کار کنم باید این پورت از قبل اشغال نشده باشد. پس برای حل مشکل باید برنامه ای که آن را اشغال کرده پیدا کرده و آن را آزاد کنید.

اما اصولا در بیشتر مواقع به هر دلیلی امکان آزاد سازی آن برای شما وجود ندارد و میتوانید به جای این کار پورت پیشفرض MySQL را تغییر دهید.

برای انجام این کار مراحل زیر را دنبال کنید.

  1. با کلیک بر روی گزینه config در جلوی سرویس Apache، فایل  PHP(php.ini)  را در نوت پد باز کنید

open php.ini config

  1. با زدن دکمه ترکیبی  Ctrl + F کادر جستجو را باز کرده و عدد 3306 را در آن جستجو کنید.

edit port in config file

  1. در کل فایل هرجا این عدد استفاده شده بود را به عدد 3307 تغییر دهید و آن را ذخیره کرده و ببندید.
  2. این بار با زدن دکمه config در جلوی سرویس MySQL  فایل my.ini را باز کرده و درست مثل فایل قبلی تمام اعداد 3306 را با 3307 جایگزین کنید.

open my.ini config

  1. زمپ را کاملا ببندید و سیستم خود را ری استارت کنید. اکنون باید بتوانید زمپ و سرویس پایگاه داده آن را را بدون مشکل اجرا کنید.

در صورتی که هیچ کدام این راه حل ها جواب نداد ممکن است مجبور باشید برنامه را به کلی حذف نصب کرده و مجددا نصب کنید.