اگر در پیشخوان وردپرس، پنل هاست یا در بخش گزارش سلامت سایت با پیامی مبنی بر نیاز به ارتقای نسخه PHP مواجه شدهاید، ممکن است نگران بروز اختلال در عملکرد سایت خود باشید. این نگرانی کاملاً طبیعی است، زیرا بسیاری از مدیران سایت تجربه مواجهه با خطاها یا ناسازگاریهای مختلف پس از ارتقای PHP را داشتهاند.
در واقع، ارتقای PHP یکی از مهمترین اقدامات برای افزایش امنیت، سرعت و پایداری سایت محسوب میشود و در اکثر موارد بدون مشکل انجام میگیرد. با این حال، اگر برخی افزونهها، قالب یا سفارشیسازیهای سایت قدیمی باشند، ممکن است پس از ارتقا با خطاهایی مواجه شوید.
در این مقاله ابتدا مراحل صحیح ارتقای PHP را بررسی میکنیم و سپس روشهای عیبیابی رایجترین مشکلاتی که ممکن است پس از ارتقا رخ دهند را توضیح خواهیم داد.
PHP چیست و چرا باید آن را بهروزرسانی کنیم؟
PHP زبان برنامهنویسی اصلی وردپرس است و تمامی بخشهای سایت شما، از جمله قالب، افزونهها، ووکامرس و پنل مدیریت، بر پایه آن اجرا میشوند.
استفاده از نسخههای قدیمی PHP میتواند مشکلات مختلفی ایجاد کند، از جمله:
- کاهش سرعت اجرای سایت
- افزایش آسیبپذیریهای امنیتی
- ناسازگاری با نسخههای جدید وردپرس
- ناسازگاری با افزونهها و قالبهای بهروز
- عدم دریافت بروزرسانیهای امنیتی از سوی توسعهدهندگان PHP
به همین دلیل توصیه میشود همواره از نسخههای پشتیبانیشده PHP استفاده کنید.
قبل از ارتقای PHP چه کارهایی انجام دهیم؟
- از سایت نسخه پشتیبان تهیه کنید: پیش از هرگونه تغییر در تنظیمات هاست، یک نسخه پشتیبان کامل از فایلها و پایگاه داده سایت تهیه کنید. اگر پس از ارتقا با مشکل جدی مواجه شوید، داشتن بکاپ این امکان را فراهم میکند که سایت را به وضعیت قبلی بازگردانید.
- وردپرس، قالب و افزونهها را بهروز کنید: بسیاری از خطاهای پس از ارتقای PHP به دلیل استفاده از افزونهها یا قالبهای قدیمی رخ میدهند. پیشنهاد میشود پیش از ارتقا، موارد زیر را به آخرین نسخه موجود بروزرسانی کنید:
- وردپرس
- قالب فعال سایت
- افزونههای نصبشده
- ووکامرس و افزونههای جانبی آن
- افزونهها و قالبهای بلااستفاده را حذف کنید: نگهداری افزونهها و قالبهای قدیمی و غیرفعال، حتی اگر فعال نباشند، میتواند در فرآیند نگهداری سایت مشکل ایجاد کند. بهتر است قبل از ارتقا، افزونهها و قالبهایی که استفاده نمیکنید را حذف نمایید.
- از سازگاری قالب و افزونهها اطمینان حاصل کنید: اگر از افزونه یا قالبی استفاده میکنید که مدت زیادی بروزرسانی نشده است، احتمال ناسازگاری آن با نسخههای جدید PHP بیشتر خواهد بود. در این شرایط بهتر است قبل از ارتقا، وضعیت پشتیبانی و بروزرسانی آن محصول را بررسی کنید.
بهترین روش برای ارتقای PHP
- اگر سایت شما روی نسخههای قدیمی PHP قرار دارد، توصیه میشود ارتقا را بهصورت مرحلهای انجام دهید.
- برای مثال اگر از PHP 7.4 استفاده میکنید، ابتدا به PHP 8.1 ارتقا دهید و پس از بررسی عملکرد سایت، در صورت نیاز به نسخههای جدیدتر مهاجرت کنید.
- پس از تغییر نسخه PHP، حتماً عملکرد بخشهای اصلی سایت را بررسی نمایید.
پس از ارتقا چه بخشهایی را بررسی کنیم؟
- صفحه اصلی سایت
- صفحات محصول
- صفحه فروشگاه
- صفحه سبد خرید
- صفحه تسویه حساب
- ورود و ثبتنام کاربران
- پنل کاربری
- فرمهای تماس
- جستجوی سایت
- درگاه پرداخت
- ویرایشگر المنتور یا سایر صفحهسازها
مشکلات رایج پس از ارتقای PHP
- صفحه سفید نمایش داده میشود: اگر پس از ارتقا با صفحهای کاملاً سفید مواجه شدید، معمولاً یکی از افزونهها یا قالب سایت با نسخه جدید PHP سازگار نیست. در این شرایط:
- نسخه PHP را موقتاً به نسخه قبلی بازگردانید.
- تمامی افزونهها را بروزرسانی کنید.
- سپس مجدداً ارتقا را انجام دهید.
- خطای 500 نمایش داده میشود: خطای 500 یکی از رایجترین خطاهای پس از ارتقای PHP است. این خطا معمولاً نشان میدهد که بخشی از کدهای سایت با نسخه جدید PHP سازگار نیست و اجرای آن متوقف شده است. در این شرایط ابتدا افزونهها و قالب را به آخرین نسخه موجود بروزرسانی کنید و سپس مراحل عیبیابی پیشرفته را که در ادامه مقاله توضیح داده شده است انجام دهید.
- ویرایشگر المنتور یا صفحهسازها بارگذاری نمیشوند: گاهی پس از ارتقای PHP، ویرایشگر المنتور در حالت بارگذاری باقی میماند یا صفحه ویرایش باز نمیشود. در این شرایط موارد زیر را بررسی کنید:
- بروزرسانی المنتور و المنتور پرو
- بروزرسانی قالب سایت
- پاکسازی کش سایت
- غیرفعالسازی موقت افزونههای جانبی المنتور
در بسیاری از موارد مشکل از یک افزونه جانبی المنتور است که با نسخه جدید PHP سازگار نیست.
- بخشی از سایت بهدرستی کار نمیکند: گاهی سایت بهطور کامل باز میشود اما برخی قابلیتها دچار اختلال میشوند، مانند:
- فیلتر محصولات
- جستجو
- فرمهای ورود و ثبتنام
- پنل کاربری
- مگامنوها
- اسلایدرها
این نوع مشکلات معمولاً به ناسازگاری یک افزونه خاص مربوط هستند و با بروزرسانی یا جایگزینی آن برطرف میشوند.
- مشکل در پرداخت یا درگاه بانکی: برخی افزونههای قدیمی درگاه پرداخت ممکن است با نسخههای جدید PHP سازگار نباشند. اگر پس از ارتقا فرایند پرداخت با خطا مواجه شد:
- افزونه درگاه را بروزرسانی کنید.
- آخرین نسخه ارائهشده توسط توسعهدهنده درگاه را نصب نمایید.
- در صورت نیاز با پشتیبانی افزونه تماس بگیرید.
- کش سایت را پاک کنید: بسیاری از مشکلاتی که پس از ارتقای PHP مشاهده میشوند، در واقع ناشی از فایلهای کش قدیمی هستند. پس از هر تغییر نسخه PHP موارد زیر را پاکسازی کنید:
- کش افزونههای کش
- کش Cloudflare
- کش LiteSpeed
- کش مرورگر
عیبیابی پیشرفته مشکلات پس از ارتقای PHP
- حالت اشکالزدایی وردپرس را فعال کنید: بسیاری از خطاهای PHP بهصورت مستقیم روی سایت نمایش داده نمیشوند و فقط باعث بروز خطاهایی مانند صفحه سفید، خطای 500 یا از کار افتادن بخشی از سایت میشوند. فعالسازی حالت اشکالزدایی وردپرس میتواند علت دقیق مشکل را مشخص کند. پس از فعالسازی دیباگ، وردپرس خطاهای شناساییشده را در فایل لاگ ذخیره میکند و معمولاً نام افزونه یا فایل مشکلدار نیز در گزارش مشخص میشود.
- فایل گزارش خطاها را بررسی کنید: پس از فعالسازی دیباگ، فایل گزارش خطاها را بررسی کنید. در بسیاری از موارد تنها با مشاهده چند خط آخر این فایل میتوان متوجه شد که کدام افزونه، قالب یا فایل باعث بروز مشکل شده است. اگر محتوای این فایل برای شما قابل تشخیص نیست، میتوانید آن را برای تیم پشتیبانی قالب، افزونه یا هاست ارسال کنید.
- لاگ خطاهای هاست را بررسی کنید: اکثر شرکتهای هاستینگ بخشی برای مشاهده خطاهای PHP در اختیار کاربران قرار میدهند. در صورتی که سایت حتی قبل از بارگذاری وردپرس دچار خطا شود، اطلاعات موجود در لاگهای هاست معمولاً سریعترین راه برای شناسایی علت مشکل خواهند بود.
- تمامی افزونهها را موقتاً غیرفعال کنید: اگر علت خطا مشخص نیست، یکی از مؤثرترین روشهای عیبیابی، غیرفعالسازی موقت تمام افزونهها است. اگر پس از غیرفعال شدن افزونهها مشکل برطرف شد، افزونهها را بهصورت تکی فعال کنید تا افزونه ناسازگار شناسایی شود.
- قالب پیشفرض وردپرس را آزمایش کنید: در صورتی که غیرفعال کردن افزونهها کمکی نکرد، میتوانید موقتاً یکی از قالبهای پیشفرض وردپرس را فعال کنید. اگر مشکل برطرف شد، احتمالاً علت خطا در قالب فعال یا یکی از سفارشیسازیهای انجامشده روی آن قرار دارد.
- در صورت نیاز موقتاً به نسخه قبلی PHP بازگردید: اگر سایت شما فعال است و امکان رفع سریع خطا وجود ندارد، بهتر است بهصورت موقت به نسخه قبلی PHP بازگردید. پس از شناسایی و رفع عامل ناسازگار، میتوانید مجدداً ارتقا را انجام دهید. این کار باعث میشود سایت در دسترس کاربران باقی بماند و اختلالی در فعالیت کسبوکار ایجاد نشود.
هنگام درخواست پشتیبانی چه اطلاعاتی ارسال کنیم؟
- نسخه فعلی PHP
- نسخه وردپرس
- نسخه قالب
- نسخه ووکامرس
- فهرست افزونههای فعال
- تصویر یا متن خطا
- فایل گزارش خطاها (در صورت وجود)