مدتهاست که php 7.4 منتشرشده و این نسخه توسط وردپرس نیز پیشنهاد میشود. اگر شما هم از این نسخه از پی اچ پی استفاده کنید ممکن است سایت شما خرابشده باشد یا حتی همهچیز به خوبی کار کند اما افزونهها و قالبهایی از شما با این نسخه سازگاری نداشته باشند.
در این مقاله از راه دیجیتال افزونهای را به شما معرفی میکنیم که به کمک آن میتوانید سازگاری سایت خود را با نسخه جدید php 7.4 بررسی کنید و عیبیابی راحتی داشته باشید.
چرا باید php خود را به 7.4 ارتقا دهیم
پی اچ پی یک زبان برنامهنویسی است و معمولاً با انتشار نسخههای جدید مشکلات آن برطرف و بهینهسازی میشود. پس همیشه مهم است که از آخرین نسخه آن استفاده میکنید. حتی اگر مشکلی با نسخههای قبلی ندارید. بهعنوان مثال نسخه 8 پی اچ پی بهتازگی منتشرشده و ممکن است بهزودی نیاز باشد تا به نسخه 8 مهاجرت کنیم. اما فعلاً نسخه 7.4 یک نسخه بهروز و مطمئن بهحساب میآید. همچنین می توانید مقاله تست سرعت نسخه های php را مشاهده کنید.
افزونه PHP Compatibility Checker را نصب میکنیم
نسخهای که در مخزن وردپرس از این افزونه وجود دارد تنها میتواند تا php 7.3 را آزمایش کند اما ما در راه دیجیتال به کمک پچ های شرکت wpengine یک نسخه برای شما آماده کردهایم که از php 7.4 پشتیبانی میکند.
پیشنیاز اسکن کردن قالبها و افزونههای وردپرسی
پس از نصب افزونه اگر تصمیم دارید فرایند اسکن بسیار سریع و بدون مشکل انجام شود 2 کار بسیار مهم باید انجام دهید. اول اینکه تمام افزونه هارا غیرفعال کنید. و دوم اینکه مقادیر زیر را درهاست خود اعمال کنید. اگر هاست شما چنین تنظیماتی ندارید میتوانید از آموزش تغییر تنظیمات php به کمک فایل php.ini در راه دیجیتال استفاده کنید.
max_execution_time 3600
memory_limit 256M
max_input_time 3600
max_input_vars 3600
آموزش کار با افزونه PHP Compatibility Checker به زبان ساده
اگر مطمئن شده اید که تمام افزونه ها غیر فعال و تنظیمات پی اچ پی هم انجام شده و نسخه php هاست شما بر روی php 7.4 است پس مراحل زیر را به نوبت انجام میدهیم.
قدم اول: از بخش ابزار ها افزونه را پیدا کنید.
قدم دوم: از داخل تنظیمات افزونه مشابه تصویر ابتدا php 7.4 را انتخاب کنید و سپس scan all رو بزنید. این گزینه اعلام میکند که اگر افزونه یا قالبی غیرفعال باشد آن را نیز اسکن و بررسی کند. و درنهایت روی دکمه scan کلیک کنید.
گزارش گیری سازگاری با php 7.4
بسته به کیفیتهاست شما ممکن است فرایند اسکن کردن مقداری به طول بینجامد. اگر سیستم قدرتمندی دارید میتوانید اسکن را روی لوکال هاست خود انجام دهید. پسازاینکه گزارش آمادهشده معمولاً با 3 رنگ نمایش داده میشود.
- Unknown رنگ خاکستری: به معنای اینکه نتوانسته به خوبی افزونه یا قالب مورد نظر را اسکن کند. اگر تمامی افزونه ها را غیر فعال کرده باشید و تنظیمات پی اچ پی هم درست باشد احتمال اینکه این پیام را مشاهده کنید بسیار کم است.
- Compatible رنگ سبز: به معنای اینکه افزونه یا قالب به خوبی با نسخه php 7.4 سازگار است. معمولا محصولات به روز با نسخه جدید سازگاری دارند.
- error رنگ قرمز: در تست ما اکثر افزونه های که بیش از 2 سال است برای آنها آپدیتی منتشر نشده ارور هایی را دریافت کردند. با زدن روی گزینه toggle می توانید ارور را مشاهده کنید.
عیب یابی و رفع ارور ها
پسازآن که افزونههای دارای ارور را مشاهده کردید 2 راه برای رفع عیب دارید. قبل از هر چیز باید بدانید که ممکن است همهچیز در وبسایت وردپرسی شما به خوبی کار کند اما داشتن ارور یعنی یک بار اضافی بر رویهاست و سرور شما که نتیجه آن کندی سایت شماست. همچنین این میزان کندی و فشار به سرور زمانی بیشتر خود را نمایش میدهد که تعداد زیادی بازدیدکننده وارد سایت شما بشود.
- رفع ارور به کمک توسعه دهنده: معمولا نوع خطا و لاین هایی که باعث این خطا شده اند را افزونه PHP Compatibility Checker به شما اعلام می کند. میتوانید به کمک یک توسعه دهنده آن افزونه یا قالب را ویرایش کنید.
- تعویض افزونه و قالب: دلیلی ندارد از افزونه یا قالب وردپرسی استفاده کنید که سازنده آن با php 7.4 آن را سازگار نکرده است. در وردپرس هر افزونه 100 ها رقیب مشابه دارد که میتوانید آنها را نصب کنید. همچنین قالب یکی از حیاتیترین بخشهای سایت شماست. چراکه باید سازگاری بالایی با آخرین نسخه وردپرس شما داشته باشد. پس بهمحض اینکه بیش از 1 سال آپدیتی از توسعهدهنده قالب خود دریافت نکردید آن را تغییر دهید یا از توسعهدهندگان php وردپرس کمک بگیرید.
پرسش و پاسخ
1. چرا قالب ها و افزونه های ایرانی با php 7.4 سازگاری ندارند؟
محصولات ایرانی معمولاً بهصورت کد شده به فروش میرسند. یعنی کدهای آنها توسط سیستمهای خاص مانند inocube کدگذاری شده و قابلمشاهده نیست. جدا از اینکه این کار ممکن است مشکلات امنیتی زیادی برای سایت شما ایجاد کند همین سیستمها معمولاً سازگاری مناسبی با آخرین نسخههای php ندارند و معمولاً 1 تا 2 سال بعد از انتشار یک نسخه از php سیستمهای خود را آپدیت میکنند و همین موضوع باعث شده تا محصولات ایرانی همیشه با php آخرین نسخه سازگار نباشند.
2. چرا باید برای اسکن کردن افزونه هارا غیر فعال کنم؟
بسیاری از افزونه مانند وردفنس در عملکردهای سایت محدودیتهایی ایجاد میکنند و ما تصمیم دارید زمانی که سایت خود را اسکن میکنیم همهچیز به خوبی و بدون محدودیت کار کند.
3. چه زمانی به php 8 مهاجرت کنیم؟
کمی صادق باشیم. برای مهاجرت به php 8 مقداری زود است. هرچند خود وردپرس و محصولات اصلی آن مانند ووکامرس هماکنون با این نسخه سازگار هستند اما ممکن است قالب یا افزونههای را لازم داشته باشید که هنوز سازگاری خود را با این نسخه اثبات نکرده باشند. به نظر میرسد از سال 2021 روند مهاجرت به نسخه جدید امکانپذیر باشد.