وردپرس یکی از محبوبترین سیستمهای مدیریت محتواست، اما گاهی خطاهای PHP در آن میتوانند سایت را از کار بیندازند یا ظاهر آن را بههم بریزند.
در این آموزش به صورت گامبهگام تمام خطاهای PHP وردپرس را بررسی و رفع میکنیم؛ چه با تغییر کد، چه با نصب افزونههای مطمئن.
۱. خطای “White Screen of Death” (صفحه سفید مرگ)
علت:
-
خطا در فایلهای PHP قالب یا افزونهها
-
محدودیت حافظه (Memory Limit)
-
مشکل در فایل functions.php
روش رفع:
روش ۱ (با افزونه):
نصب افزونه Health Check & Troubleshooting
→ به بخش Troubleshooting Mode بروید و قالب و افزونهها را یکییکی غیرفعال کنید تا منبع خطا را پیدا کنید.
روش ۲ (با کد):
در فایل wp-config.php خط زیر را اضافه کنید تا خطاها نمایش داده شوند:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
سپس فایل wp-content/debug.log را باز کنید و ببینید خطا از کدام افزونه یا فایل است.
۲. خطای “Critical Error” در وردپرس
علت:
تداخل افزونه یا مشکل در نسخه PHP هاست.
روش رفع:
روش ۱ (از طریق هاست):
-
وارد File Manager شوید.
-
پوشه
/wp-content/pluginsرا تغییر نام دهید بهplugins_backup. -
سایت را رفرش کنید. اگر باز شد، یعنی مشکل از یکی از افزونههاست.
-
دوباره پوشه را برگردانید و افزونهها را یکییکی فعال کنید.
روش ۲ (با افزونه):
نصب افزونه WP Rollback برای برگرداندن افزونهها به نسخه قبلی.
روش ۳ (نسخه PHP):
از داخل cPanel → قسمت Select PHP Version
→ نسخه را روی یکی از موارد پایدار (مثلاً 8.1 یا 8.2) تنظیم کنید.
۳. خطای “Memory Exhausted” (تمام شدن حافظه PHP)
علت:
میزان حافظه PHP برای اجرای وردپرس کافی نیست.
روش رفع:
روش ۱ (کد در wp-config.php):
define('WP_MEMORY_LIMIT', '256M');
روش ۲ (با افزونه):
نصب WP Memory Usage برای بررسی مقدار حافظه مصرفی و افزایش خودکار آن.
۴. خطای “Syntax Error” (خطای سینتکس در کد)
علت:
اشتباه تایپی یا علامت اضافی در کدهای PHP (مثل فراموشی “;” یا “}”).
روش رفع:
روش ۱:
با افزونه Code Snippets کدها را اضافه کنید تا قبل از ذخیره بررسی شوند.
روش ۲:
در صورت ویرایش دستی، از طریق FTP فایل را باز کنید و خطی که خطا در آن اعلام شده را اصلاح کنید.
اگر دسترسی ندارید، آخرین نسخه قالب را مجدداً آپلود کنید تا جایگزین شود.
۵. خطای “Maximum Execution Time Exceeded”
علت:
زمان اجرای PHP برای پردازش کافی نیست.
روش رفع:
روش ۱ (افزایش زمان اجرا در فایل .htaccess):
php_value max_execution_time 300
روش ۲ (افزونه):
نصب افزونه WP Maximum Execution Time Exceeded Fix
→ مقدار زمان اجرا را به 300 ثانیه افزایش دهید.
۶. خطای “Headers Already Sent”
علت:
وجود فاصله یا کاراکتر اضافه قبل از دستور <?php یا بعد از ?> در فایلهای PHP.
روش رفع:
روش ۱:
فایلهایی مثل functions.php یا wp-config.php را باز کنید و مطمئن شوید قبل از <?php یا بعد از ?> هیچ فاصلهای نیست.
روش ۲:
اگر پیدا کردنش سخت است، با افزونه Advanced Code Editor فایلها را باز کرده و بررسی کنید.
۷. خطای “Allowed Memory Size Exhausted”
علت:
استفاده بیشازحد از منابع PHP توسط افزونهها یا قالب.
روش رفع:
روش ۱:
افزودن این خط به wp-config.php:
define('WP_MEMORY_LIMIT', '512M');
روش ۲:
با افزونه Query Monitor بررسی کنید کدام افزونه بیشترین حافظه را مصرف میکند و در صورت نیاز حذفش کنید.
۸. خطای “Undefined Function” یا “Call to undefined function”
علت:
فایل تابع مورد نیاز بارگذاری نشده یا افزونه غیرفعال است.
روش رفع:
روش ۱:
چک کنید در فایل PHP مسیر include یا require درست نوشته شده باشد.
مثلاً:
require_once get_template_directory() . '/inc/custom-functions.php';
روش ۲:
اگر خطا مربوط به افزونه است، افزونه را حذف و دوباره نصب کنید.
روش ۳:
از افزونه Plugin Organizer استفاده کنید تا ترتیب بارگذاری افزونهها را اصلاح نمایید.
۹. خطای “Database Connection Error” (ارتباط با پایگاهداده برقرار نیست)
علت:
خطا در فایل wp-config.php یا اشکال در سرور MySQL.
روش رفع:
روش ۱ (کد):
در wp-config.php اطلاعات زیر را بررسی کنید:
define('DB_NAME', 'database_name');
define('DB_USER', 'database_user');
define('DB_PASSWORD', 'your_password');
define('DB_HOST', 'localhost');
روش ۲ (افزونه):
نصب افزونه WP-DBManager
→ از منوی Database → Repair DB دیتابیس را تعمیر کنید.
۱۰. خطای “500 Internal Server Error”
علت:
تداخل افزونهها، مشکل در .htaccess یا محدودیت منابع هاست.
روش رفع:
روش ۱ (فایل .htaccess):
در روت سایت، فایل .htaccess را موقتاً تغییر نام دهید و سپس از پیشخوان → تنظیمات → پیوندهای یکتا → ذخیره کنید تا فایل جدید ساخته شود.
روش ۲ (افزونه):
نصب WP Debugging برای فعالسازی حالت دیباگ و مشاهده لاگ خطاها.
روش ۳:
اگر خطا حل نشد، نسخه PHP هاست را یک پله پایینتر ببرید (مثلاً از 8.2 به 8.1).
جمعبندی
رفع خطاهای PHP در وردپرس نیاز به وحشت ندارد!
کافی است با فعال کردن WP_DEBUG منبع خطا را شناسایی کنید، سپس با یکی از روشهای بالا (تغییر کد یا افزونه) مشکل را رفع کنید.
🔧 پیشنهاد ویژه:
برای جلوگیری از خطاهای آینده، همیشه:
-
نسخه PHP را بهروز نگه دارید
-
از قالب و افزونههای معتبر استفاده کنید
-
قبل از ویرایش، از سایت نسخه پشتیبان بگیرید