حدودا 9 ماه پیش یعنی 25 نوامبر 2021 جدیدترین نسخه PHP یعنی PHP 8.1 منتشر شد. این نسخه در مقایسه با نسخه 8.0 که نسخه اولیه به شمار میرفت از پایداری بیشتری برخوردار بود و با توجه به ویژگیهای منحصر به فرد و بهبودهای امنیتی و عملکردی خود، در سرعت اجرای کدهای PHP تاثیر بسیار زیادی داشت.
پی اچ پی 8.1، خوب یا بد؟
حالا که نسخه 8.1 نسخه ای پایدار و قابل اعتماد است میتوانیم تنظیمات هاست خود را روی PHP 8.1 قرار دهیم؟
در پاسخ به این سوال باید شرایط مختلفی را در نظر بگیرید. اولین و مهمترین شرط این است که شما از چه ابزار یا برنامهای روی سایت خود استفاده میکنید و سازگار پذیری آن ابزار با نسخه 8.1 پی اچ پی را بررسی کرده اید یا خیر؟
اگر ابزار یا برنامه مورد استفاده شده از نسخه 8.1 پشتیبانی میکند و هیچ مشکلی در اجرای افزونهها یا ابزارهای کمکی آن در نسخه 8.1 وجود ندارد، چرا که نه؟! همین حالا نسخه 8.1 را انتخاب کید و از مزیتهای آن از جمله سرعت بسیار خوبی که در مقایسه با نسخه های قبلی دارد بهرهمند شوید. اما اگر ذرهای به سازگار بودن ابزارهای مورد استفاده با این نسخه از پی اچ پی شک دارید همچنان توصیه میکنیم از همان نسخه 7.4 استفاده کنید.
آیا وردپرس با PHP 8.1 سازگار است؟
هم آره و هم نه! هسته وردپرس به فاصله بین یک تا دو ماه پس از انتشار PHP 8.0 با انتشار وردپرس 5.6 سازگاری با این نسخه از PHP را اعلام کرد و همینطور پس از انتشار PHP 8.1 نیز با همان فاصله زمانی وردپرس 5.9 با پشتیبانی از PHP 8.1 منتشر شد. اما نکته مهمی که وجود داشت و دارد این است که هنوز پشتیبانی از PHP سری 8 بهطور کامل در هسته وردپرس انجام نشده و همچنان نسخه 5.9 نیز بصورت آزمایشی (Beta) این پشتیبانی را انجام میدهد.
البته توسعهدهندگان وردپرس اعلام کردند که صرفا برخی هشدارها (Notice) درباره عملگرهای از رده خارج شده وجود دارد که مشکلی در اجرا بوجود نمیآورند اما با این حال همین هشدارها نیز موجب شدهاند تا وردپرس 5.9 نیز عبارت آزمایشی را در سازگاری با نسخه جدید PHP با خود یدک بکشد.
با این اوصاف کاربران حرفهای تر به جهت پیشگیری از بروز مشکلات، همچنان ترجیح میدهند از PHP 7.4 برای وردپرس استفاده کنند.
سازگاری قالب ها و افزونه های وردپرس با پی اچ پی 8.1
با توجه به پشتیبانی آزمایشی هسته وردپرس از PHP 8.1، برخی افزونهها و قالبهای معروف دنیای وردپرس همچون افزونه Yoast seo و قالبهای پر فروش، سعی کردهاند پا به پای هسته وردپرس نهایت سازگاری با نسخه جدید پی اچ پی را اعمال کنند اما در این میان بسیاری از محصولات دنیای وردپرس نیز وجود دارند که همواره سازگاری با خود هسته وردپرس را در دستور کار خود دارند و برخی نیز ممکن است بخاطر تعداد کاربر کمی که دارند، زمان خاصی برای بروزرسانی و توسعه محصول اختصاص نداده باشند و هنوز با این نسخه سازگار نباشند. البته برخی از توسعهدهندگان نیز باتوجه به عدم پشتیبانی کامل هسته وردپرس با PHP 8.1، هنوز اقدام خاصی برای پشتیبانی از این نسخه پی اچ پی انجام نداده اند و منتظرند تا هسته وردپرس بهصورت کامل از این نسخه پشتیبانی کند و استفاده از نسخههای سری 8 فراگیر شود سپس نسبت به باگگیری و سازگار کردن محصول خود با نسخههای سری 8 اقدام کنند.
آیا سایت های وردپرسی باید از نسخه 7.4 به نسخه 8.1 پی اچ پی مهاجرت کنند؟
با توجه به مستندات فوق توصیه ما به شما عدم انجام این مهاجرت است. چرا که با انواع و اقسام خطاهای احتمالی مواجه خواهید شد که ممکن است ناشی از آزمایشی بودن هسته وردپرس با PHP 8.1 باشد و یا نا سازگاری یکی از افزونهها یا بخشی از کدهای قالب شما با این نسخه از پی اچ پی. پس فعلا تا زمانی که این نسخه از PHP بصورت کاملا فراگیر مورد استفاده قرار نگرفته است و اکثریت محصولات دنیای وردپرس سازگارپذیری با این نسخه را در دستور کار قرار ندادهاند بهتر است به شرایط پایدار فعلی یعنی نسخه 7.4 دست نزنید و فکر مهاجرت به نسخه جدید را حداقل برای سایتهای وردپرسی از ذهن خود دور کنید.
انکد کردن سورس کد PHP با PHP 8.1
توسعهدهندگانی که برای حفاظت از سورس کدهای PHP خود از ابزارهای کدگذاری و رمزنگاری PHP همچون یون کیوب انکدر استفاده میکنند نیز، ممکن است با انتشار یون کیوب انکدر 12 تصمیم بگیرند کدهای خود را با PHP 8.1 قفلگذاری کنند.
با توجه به موارد فوق اگر احتمال میدهید کاربران اسکریپت یا تکه کد شما بخواهند از سیستمهای مدیریت محتوا نیز استفاده کنند یا اگر محصول شما یک قالب و افزونه وردپرسی است توصیه میکنیم فعلا عملیات قفلگذاری را با انتخاب نسخه 7.4 پی اچ پی اجرا کنید (و یا حتما گزینه 7.4 و 8.1 را با هم انتخاب کرده و حالت SMart ioncube loader 11 را نیز فعال کنید) چرا که در صورت انتخاب تکی نسخه 8.1 کاربران مجبور میشوند تنظیمات هاست خود را روی PHP 8.1 قرار دهند و این تغییر نسخه میتواند موجب بروز ناسازگاری و تداخل در قالب و سایر افزونههای وردپرسی آنها شود.
قطعا نسخه 8.1 از سرعت و عملکرد بهتری برخوردار است اما با توجه به فراگیر نشدن سازگاری کدها و محصولات مختلف، فعلا توصیه میکنیم در هاست خود نسخه PHP را روی 7.4 قرار دهید.
هسته وردپرس در نسخه 5.6 از PHP 8.0 و در نسخه 5.9 از PHP 8.1 پشتیبانی میکند اما این پشتیبانی در حد آزمایشی است و توصیه میشود تا انتشار نسخهای که کاملا از PHP سری 8 پشتیبانی نکرده، وردپرس را روی هاست با PHP نسخه 7.4 میزبانی کنید.