رفع خطای Script timed out before returning headers در Apache

خطای Script timed out before returning headers چیست؟

خطای Script timed out before returning headers در لاگ‌های Apache و LiteSpeed ثبت می‌شود و نشان‌دهنده این است که یک اسکریپت PHP بیش از زمان مجاز برای اجرا طول کشیده و قبل از ارسال پاسخ به مرورگر، توسط سرور متوقف شده است. کاربر معمولاً خطای 500 Internal Server Error یا صفحه سفید می‌بیند.

دلایل اصلی

۱. زمان اجرای طولانی اسکریپت PHP

اسکریپت‌هایی که عملیات سنگین انجام می‌دهند (import/export دیتابیس بزرگ، پردازش تصاویر، تولید گزارش‌های سنگین) ممکن است بیش از حد مجاز max_execution_time زمان ببرند.

۲. کوئری‌های دیتابیس سنگین

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

۳. ارتباط با سرویس‌های خارجی

اگر اسکریپت به یک API خارجی یا سرور ریموت متصل شود و پاسخ دریافت نکند، تا timeout منتظر می‌ماند.

۴. حلقه بی‌نهایت در کد

یک باگ در کد PHP که باعث ایجاد حلقه بی‌نهایت شود.

روش‌های رفع

روش ۱: افزایش max_execution_time

در فایل php.ini:

max_execution_time = 300

یا در فایل .htaccess:

php_value max_execution_time 300

یا در ابتدای اسکریپت PHP:

set_time_limit(300);

روش ۲: افزایش Timeout وب‌سرور

در Apache، تنظیم Timeout در httpd.conf:

Timeout 300

در LiteSpeed، از WebAdmin Console بخش Server Configuration > External App مقدار Timeout را افزایش دهید.

روش ۳: بهینه‌سازی کوئری‌ها

کوئری‌های دیتابیس سنگین را شناسایی و بهینه کنید. فعال‌سازی Slow Query Log در MySQL:

slow_query_log = 1
slow_query_log_file = /var/log/mysql-slow.log
long_query_time = 2

روش ۴: استفاده از Cron Job به جای HTTP

عملیات سنگین مانند import دیتابیس یا پردازش batch را به جای اجرا از طریق مرورگر، با Cron Job از خط فرمان اجرا کنید:

php /path/to/script.php

در خط فرمان، محدودیت timeout وب‌سرور اعمال نمی‌شود.

خطا در وردپرس

در وردپرس این خطا معمولاً هنگام import محتوا، نصب افزونه‌های سنگین یا اجرای بکاپ رخ می‌دهد. راه‌حل‌ها شامل افزایش memory_limit و max_execution_time در wp-config.php، استفاده از افزونه‌های بکاپ که عملیات را به بخش‌های کوچک تقسیم می‌کنند، و غیرفعال کردن افزونه‌های غیرضروری هنگام import هستند.

انتخاب هاست وردپرس با منابع کافی و PHP بهینه‌شده، بسیاری از مشکلات timeout را حل می‌کند. هاست وردپرس میهن هاستینگ با LiteSpeed و تنظیمات بهینه PHP ارائه می‌شود.

اگر سرور مجازی دارید، خدمات کانفیگ سرور شامل بهینه‌سازی PHP و MySQL نیز می‌شود.

🚀 هاست بدون Timeout

هاست وردپرس با PHP بهینه، حافظه کافی و LiteSpeed برای عملکرد بدون وقفه.

مشاهده هاست وردپرس ←

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

متن نظر
نام*:
رایانامه*:
وب سایت / وبلاگ: