فایل error log چیست و چرا ایجاد میشود؟
در دنیای میزبانی وب و مدیریت سایت، فایلی به نام error log یکی از مهمترین ابزارها برای مدیران سایت و برنامهنویسان محسوب میشود. این فایل به صورت خودکار توسط وبسرور یا مفسر PHP ایجاد شده و معمولاً در پوشه اصلی سایت یعنی همان public_html قرار میگیرد. وظیفه اصلی این فایل، ثبت و ضبط تمامی خطاها، هشدارها و گزارشهایی است که در هنگام اجرای کدهای سایت رخ میدهد.
بسیاری از کاربران با دیدن این فایل نگران میشوند، اما باید دانست که وجود گزارش در این فایل لزوماً به معنای خرابی سایت نیست. در زبان برنامهنویسی PHP، گزارشها به دستههای مختلفی تقسیم میشوند. برخی از آنها صرفاً یک Notice یا اخطار ساده هستند که خللی در کارکرد سایت ایجاد نمیکنند و فقط به برنامهنویس اطلاع میدهند که بخشی از کد استاندارد نیست. برخی دیگر Warning هستند که جدیترند اما باز هم باعث توقف سایت نمیشوند. اما دستهی سوم Fatal Errorها هستند که باعث میشوند سایت شما به کلی از دسترس خارج شده و با صفحه سفید مواجه شوید.
چرا حجم فایل خطا به طور ناگهانی افزایش مییابد؟
یکی از چالشهای جدی در مورد این فایل، امکان افزایش حجم سرسامآور این فایل در برخی سرویس ها است. در شرایط عادی، این فایل حجمی در حد چند کیلوبایت دارد. اما گاهی به دلیل وجود یک تداخل شدید در افزونهها، قالب یا کدهای هسته سایت، در هر ثانیه دهها خط خطا در این فایل نوشته میشود.
این اتفاق میتواند به دلایل زیر رخ دهد:
1. عدم سازگاری نسخه PHP هاست با کدهای سایت یا افزونههای قدیمی.
2. وجود حلقههای تکرار بینهایت در کدها که باعث تولید خطای مکرر در کسری از ثانیه میشود.
3. حملات رباتها به سمت فایلهایی که دارای ایراد کدنویسی هستند.
4. تنظیمات اشتباه در دیتابیس که باعث میشود هر بار فراخوانی اطلاعات با خطا مواجه شود.
در چنین شرایطی، حجم فایل error log میتواند در عرض چند ساعت از مرز 1 گیگابایت عبور کند. این موضوع بسیار خطرناک است زیرا اگر حجم فایل از میزان فضای کل هاست شما بیشتر شود، کل سرویس شما مسدود خواهد شد. بسیاری از شرکتهای هاستینگ در صورت مشاهده چنین فعالیتی که باعث اشغال بیش از حد منابع سرور (I/O دیسک) میشود، ممکن است اکانت شما را به دلیل ایجاد فشار بر سرور ساسپند یا معلق کنند.
راهکارهای مدیریت و کنترل فایل خطای هاست
بهترین و اصولیترین راهکار برای حل این مشکل، بررسی متن داخل فایل است. شما باید چند خط آخر فایل را مطالعه کنید تا متوجه شوید خطا از سمت کدام فایل یا افزونه صادر میشود. پس از شناسایی منشا، باید نسبت به آپدیت یا اصلاح کد مربوطه اقدام کنید. اما همیشه شرایط به این سادگی نیست.
گاهی اوقات خطاها آنقدر سریع و زیاد تولید میشوند که حتی فرصت پاک کردن فایل یا ویرایش کد را به شما نمیدهند. در این مواقع، پاک کردن دستی فایل فقط یک مسکن چند ثانیهای است و فایل بلافاصله دوباره ساخته شده و حجیم میشود.
راهکار اضطراری؛ مسدود کردن دسترسی نوشتن (Write Permission)
اما گاهی تمام راهکارهای استاندارد با شکست مواجه میشوند. برای مثال ممکن است شما نتوانید منشا دقیق خطا را پیدا کنید یا اصلاح آن زمانبر باشد و در عین حال هاست شما مدام پر شود. در این شرایط یک راهکار هوشمندانه و ابداعی وجود دارد که میتواند جلوی فاجعه را بگیرد.
این راهکار شامل تغییر سطح دسترسی یا همان Permissions فایل است. برای این کار مراحل زیر دنبال میشود:
1. در صورتی که حجم فایل فعلی بسیار زیاد است، ابتدا آن را حذف کنید و لحظاتی منتظر بمانید تا سرور به صورت خودکار فایل جدیدی بسازد؛ سپس روی فایل جدید راست کلیک کرده و گزینه Change Permissions را انتخاب نمایید. اگر هم حجم فایل کم است در همان ابتدا می توانید روی فایل راست کلیک کرده و گزینه Change Permissions را انتخاب کنید.
2. در پنجره باز شده، تمامی تیکهای مربوط به Write (نوشتن) را بردارید. به زبان عددی، سطح دسترسی فایل را از 644 به 444 تغییر دهید.
با این کار، شما به سیستمعامل و سرور دستور میدهید که هیچ برنامهای حق نوشتن در این فایل را ندارد. از آنجایی که سرور نمیتواند خطای جدیدی را در فایل ثبت کند، فرآیند افزایش حجم متوقف میشود. این یک راهکار موقتی بسیار عالی است تا سایت شما از خطر مسدود شدن توسط هاستینگ نجات یابد و شما در فرصتی مناسب و در محیط لوکال یا تستی، به دنبال رفع ریشهای مشکل بگردید.
جمعبندی و توصیههای نهایی
فایل error log آینه تمامنمای سلامت فنی سایت شماست. نادیده گرفتن طولانیمدت آن میتواند باعث کندی سایت و افت رتبه سئو شود، زیرا پروسه ثبت هر خطا در دیسک، بخشی از منابع پردازنده و رم سرور را مصرف میکند.
توصیه میشود همواره:
1. به صورت دورهای حجم این فایل را چک کنید.
2. پس از نصب هر افزونه یا قالب جدید، نگاهی به این فایل بیندازید تا از عدم تداخل اطمینان حاصل کنید.
3. در صورت بروز بحران حجم، از راهکار تغییر دسترسی به 444 استفاده کنید تا زمان کافی برای عیبیابی داشته باشید.
4. پس از رفع مشکل اصلی، حتماً دسترسی فایل را به حالت عادی برگردانید تا در آینده بتوانید از گزارشهای جدید برای مانیتورینگ سایت استفاده کنید.
