learn

رفع خطای Syntax Error در وردپرس؛ اصلاح کد و بازیابی دسترسی

راهنمای تشخیص خطای نحوی PHP، اصلاح نشانه‌ها و تگ‌ها و آزمون فایل پیش از بازگرداندن آن به سایت.

خطای Syntax Error در وردپرس زمانی رخ می‌دهد که PHP نتواند ساختار یک قطعه کد را تفسیر کند. یک کوتیشن بسته‌نشده، پرانتز ناقص یا کد ناسازگار با نسخهٔ PHP می‌تواند اجرای درخواست را متوقف کند. افزایش حافظه یا پاک‌کردن کش معمولاً چنین اشتباه نحوی را اصلاح نمی‌کند.

خواندن پیام خطای Syntax Error در وردپرس

در پیام Parse error، نام فایل، شمارهٔ خط و عبارت unexpected را پیدا کنید. این خط محل تشخیص مشکل است و الزاماً محل شروع آن نیست؛ سمی‌کالن یا کوتیشن جاافتاده در چند خط قبل هم ممکن است عامل باشد. مسیر فایل کمک می‌کند تغییر را به افزونه، قالب یا کد اختصاصی مرتبط کنید.

نمونهٔ Parse error همراه با مسیر فایل و شمارهٔ خط
نمونهٔ رابط قدیمی؛ نام و جای دکمه‌ها در نسخهٔ فعلی ممکن است متفاوت باشد. راهنمای بازبینی‌شدهٔ متن را مبنا قرار دهید.

اگر خطا بلافاصله پس از ویرایش ظاهر شده، نسخهٔ قبل و بعد همان فایل را مقایسه کنید. فایل کامل یا لاگ دارای مسیر خصوصی، رمز و اطلاعات کاربران را در دیدگاه عمومی نفرستید. در صورت نبود پیام، از لاگ خصوصی هاست یا ابزار عیب‌یابی وردپرس استفاده کنید؛ نمایش جزئیات خطا برای همهٔ بازدیدکنندگان لازم نیست.

وقتی پیشخوان باز نمی‌شود

با File Manager یا SFTP مجاز، فایل تغییرکرده را باز و همان تغییر اخیر را اصلاح یا از نسخهٔ سالم بازگردانی کنید. برای کد افزونه، توقف موقت همان افزونه می‌تواند دسترسی را برگرداند؛ تغییر نام پوشهٔ آن قابلیت‌های افزونه را هم متوقف می‌کند. همهٔ پوشه‌ها و دیتابیس را برای یک خطای نحوی حذف نکنید.

اگر ایمیل Recovery Mode دریافت شده، از پیوند معتبر آن برای ورود و شناسایی مؤلفه استفاده کنید. این حالت درمان خودکار کد نیست و برای تمام خطاهای فایل پیکربندی یا فرایندهای پس‌زمینه در دسترس نخواهد بود.

تگ و نشانه‌های PHP را درست بنویسید

تگ بازشدن استاندارد <?php است. داخل بخشی که PHP قبلاً باز شده، آن را دوباره وارد نکنید. طبق مستند PHP، در فایل کاملاً PHP بهتر است تگ پایانی حذف شود تا خروجی ناخواسته ایجاد نشود. نمونهٔ زیر فقط نمایش نحو است؛ افزودن echo به functions.php برای آزمایش سایت توصیه نمی‌شود.

<?php
$message = 'Hello';
echo $message;

کوتیشن‌های مستقیم ‘ و ” با گیومه‌های نگارشی فرق دارند. پرانتزها و آکولادها باید جفت باشند و جمله‌های لازم با ; تمام شوند. بدون فهم ساختار، صرفاً به انتهای خط اعلام‌شده یک آکولاد اضافه نکنید؛ ممکن است محدودهٔ تابع یا شرط را اشتباه ببندید.

آزمون نحو پیش از بارگذاری

روی فایل محلی و با نسخهٔ PHP سازگار با سرور، می‌توان از فرمان زیر استفاده کرد. مسیر نمونه را با فایل واقعی جایگزین کنید.

php -l path/to/file.php

گزینهٔ -l نحو را بدون اجرای برنامه بررسی می‌کند. موفقیت آن، درستی منطق یا وجود توابع وردپرس هنگام اجرا را تضمین نمی‌کند؛ پس بعد از اصلاح، قابلیت مرتبط را در محیط تست اجرا کنید.

پیشگیری از تکرار

کد را از منبع معتبر و متناسب با نسخهٔ PHP بگیرید. منطق مستقل از ظاهر را در محل مناسب کد اختصاصی نگه دارید؛ تغییر فایل قالب والد ممکن است با آپدیت از بین برود. هر تغییر را جدا ثبت و آزمایش کنید و نسخهٔ سالم فایل را برای بازگشت داشته باشید. نسبت ثابت و مستندی مانند «۹۰ درصد خطاها از تگ‌هاست» مبنای عیب‌یابی نیست.

مطالعهٔ مرتبط

بازبینی فنی: ۱۳ آبان ۱۴۰۵. تاریخ انتشار اولیه و نشانی قبلی حفظ شده‌اند.

مطالب مرتبط

ارسال نظر

فهرست مطالب