SHET20

بهترین نسخه PHP برای وردپرس + آموزش ارتقا بدون خراب شدن سایت

بهترین نسخه PHP برای وردپرس + آموزش ارتقا بدون خراب شدن سایت

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

وردپرس با زبان PHP نوشته شده و برای اجرا شدن، به نسخه‌ای از این زبان روی سرور نیاز داره. نسخه‌ای که انتخاب می‌کنید مستقیماً روی سرعت اجرای سایت، امنیتش و حتی اینکه بتونید وردپرس و افزونه‌ها رو به‌روز کنید یا نه، اثر می‌ذاره.

در این مقاله می‌بینیم در حال حاضر کدوم نسخه‌ها پشتیبانی می‌شن، برای سایت وردپرسی کدوم انتخاب درسته، ارتقا واقعاً چقدر روی سرعت اثر داره، و چطور بدون اینکه سایتتون خراب بشه این کار رو انجام بدید.

وضعیت نسخه‌های PHP در مرداد ۱۴۰۵

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

نسخهتاریخ انتشاروضعیت فعلیپایان پشتیبانی امنیتی
PHP 8.5آبان ۱۴۰۴پشتیبانی کاملپایان ۲۰۲۹
PHP 8.4آذر ۱۴۰۳پشتیبانی کاملپایان ۲۰۲۸
PHP 8.3آذر ۱۴۰۲فقط وصله امنیتیپایان ۲۰۲۷
PHP 8.2آذر ۱۴۰۱فقط وصله امنیتیپایان ۲۰۲۶
PHP 8.1آذر ۱۴۰۰پایان یافتهدی ۱۴۰۴
PHP 7.4 و پایین‌ترپایان یافتهآذر ۱۴۰۱

آخرین نسخه‌ی پایدار در حال حاضر PHP 8.5 است که آبان ۱۴۰۴ منتشر شد.

نکته‌ای که در این جدول باید ببینید اینه که PHP 8.2 تا پایان سال میلادی جاری بیشتر پشتیبانی نمی‌شه. پس اگه امروز روی این نسخه هستید یا قصد دارید بهش ارتقا بدید، در واقع دارید به نسخه‌ای می‌رید که چند ماه دیگه از رده خارج می‌شه.

پس کدام نسخه را انتخاب کنیم؟

برای یه سایت وردپرسی در شرایط امروز، پیشنهاد عملی این‌طوریه.

PHP 8.4 بهترین انتخاب برای اکثر سایت‌هاست. پشتیبانی کامل داره، به‌اندازه‌ی کافی از انتشارش گذشته که افزونه‌ها و قالب‌های اصلی باهاش سازگار شده باشن، و تا مدت‌ها هم پشتیبانی امنیتی داره.

PHP 8.5 اگه هاستتون ارائه می‌ده و سایتتون افزونه‌ی خاص و قدیمی نداره. جدیدترین و سریع‌ترینه، اما چون تازه‌ست ممکنه بعضی افزونه‌های کمتر به‌روز باهاش مشکل داشته باشن.

PHP 8.3 حداقل قابل قبول. وردپرس رسماً همین نسخه رو به‌عنوان حداقل توصیه‌شده معرفی می‌کنه. اگه روی این نسخه هستید فوریتی نیست، اما برنامه‌ی ارتقا داشته باشید.

PHP 8.2 و پایین‌تر یعنی وقت اقدامه. نسخه‌ی ۸.۲ در آستانه‌ی پایان پشتیبانیه و نسخه‌های پایین‌تر از اون کاملاً از رده خارج شدن.

و اگه سایت شما هنوز روی PHP 7.4 یا پایین‌تر اجرا می‌شه، بدونید که سال‌هاست هیچ وصله‌ی امنیتی دریافت نکرده. این وضعیت رو باید مثل یه در باز به سرور نگاه کنید، نه یه تنظیم عقب‌مونده.

چرا ارتقا اینقدر مهم است؟

امنیت، مهم‌ترین دلیل

وقتی نسخه‌ای به پایان عمر می‌رسه، آسیب‌پذیری‌های جدیدی که کشف می‌شن هیچ‌وقت برطرف نمی‌شن. یعنی حفره‌هایی که عمومی و مستند شدن، روی سرور شما باز می‌مونن. و این حفره‌ها به‌صورت دستی هم پیدا نمی‌شن. ربات‌ها به‌طور مداوم اینترنت رو اسکن می‌کنن و سایت‌هایی که نسخه‌ی قدیمی دارن رو شناسایی می‌کنن. برای مهاجم، سایت شما یه هدف انتخابی نیست؛ یه ردیف در فهرست خروجی اسکنه.

سرعت

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

سازگاری با وردپرس و افزونه‌ها

این دلیل رو خیلی‌ها دست‌کم می‌گیرن. وردپرس و افزونه‌ها به‌مرور حداقل نسخه‌ی موردنیازشون رو بالا می‌برن. اگه روی نسخه‌ی قدیمی بمونید، یه روز می‌بینید که دیگه نمی‌تونید افزونه‌ی موردنیازتون رو نصب یا به‌روز کنید. و این خودش به یه مشکل امنیتی دیگه تبدیل می‌شه، چون به‌روزرسانی نکردن افزونه‌ها رایج‌ترین راه نفوذ به سایت‌های وردپرسیه.

ارتقا واقعاً چقدر سرعت را بهتر می‌کند؟

ادعاهایی مثل «PHP 8.3 دو برابر سریع‌تر از ۷.۴ است» یا جدول‌های بنچمارکی که تعداد درخواست در ثانیه رو دقیق اعلام می‌کنن، معمولاً پشتوانه‌ی محکمی ندارن. واقعیت اینه که ارتقا از نسخه‌های ۷ به نسخه‌های ۸.۳ و بالاتر، معمولاً پونزده تا بیست‌وپنج درصد بهبود عملکرد می‌ده. این عدد قابل توجهه و ارزش انجام دادن رو داره، اما دو برابر شدن سرعت سایت نیست.

چند نکته که این تصویر رو دقیق‌تر می‌کنه:

  • جهش بزرگ سال‌ها پیش اتفاق افتاد. تفاوت واقعاً چشمگیر بین نسخه‌های ۵ و ۷ بود. از اون به بعد، هر نسخه بهبود تدریجی و معمولاً تک‌رقمی تا حدود ده درصد داشته.
  • کامپایلر JIT برای وردپرس معجزه نمی‌کند. این قابلیت که در PHP 8.0 معرفی شد، برای محاسبات سنگین و پردازش عددی طراحی شده. سایت وردپرسی معمولی بیشتر وقتش صرف کوئری دیتابیس و ورودی و خروجی می‌شه، نه محاسبات. پس اثر JIT روی یه سایت وردپرسی معمولی محدوده.
  • سرعت سایت شما فقط به PHP بستگی ندارد. اگه سایتتون کش نداره، تصاویر چندمگابایتی داره و روی هاست ضعیف اجرا می‌شه، ارتقای PHP بخش کوچیکی از مشکل رو حل می‌کنه.

پس نگاه درست اینه که ارتقای PHP یه بهبود رایگان و کم‌ریسکه که باید انجام بشه، اما جایگزین بهینه‌سازی سایت نیست.

وردپرس چه نسخه‌ای می‌خواهد؟

حداقل نسخه‌ای که وردپرس روش اجرا می‌شه و نسخه‌ای که توصیه می‌کنه دو چیز متفاوتن و همین باعث سردرگمی می‌شه. در حال حاضر حداقل مطلق PHP 7.4 است و از نسخه‌ی ۷.۰ وردپرس، پشتیبانی از نسخه‌های قدیمی‌تر حذف شده. اما نسخه‌ی توصیه‌شده‌ی رسمی وردپرس، PHP 8.3 یا بالاتره.

کنارش چند الزام دیگه هم هست که ارزش بررسی داره. دیتابیس MySQL نسخه‌ی ۸.۰ یا MariaDB نسخه‌ی ۱۰.۶ به بالا، پشتیبانی از HTTPS، و حافظه‌ی اختصاصی حداقل ۲۵۶ مگابایت برای سایت‌های معمولی و بیشتر برای فروشگاه‌ها. برای دیدن وضعیت فعلی سایتتون، در پیشخوان وردپرس به مسیر ابزارها و سلامت سایت برید و تب اطلاعات رو باز کنید. در بخش سرور، نسخه‌ی PHP و در بخش پایگاه داده، نسخه‌ی دیتابیس نمایش داده شده.

قابلیت‌های مهم نسخه‌های اخیر

این بخش بیشتر برای توسعه‌دهنده‌ها مفیده، اما دونستن کلیاتش برای مدیر سایت هم بد نیست.

PHP 8.2

کلاس‌های readonly که اجازه می‌دن کل ویژگی‌های یه کلاس فقط یک بار مقداردهی بشن. انواع DNF برای تعریف ترکیب‌های پیچیده‌تر از نوع داده. و بهبودهایی در بخش تولید اعداد تصادفی که امنیت رمزنگاری رو بالا می‌بره.

PHP 8.3

امکان تعیین نوع داده برای ثابت‌های کلاس. تابع جدید json_validate() که اعتبار یه رشته‌ی JSON رو بدون مصرف حافظه‌ی اضافی بررسی می‌کنه. و استثناهای دقیق‌تر برای کار با تاریخ و زمان که عیب‌یابی رو ساده‌تر می‌کنه.

PHP 8.4

PHP 8.4
PHP 8.4

این نسخه یکی از پرمحتواترین‌های اخیره. مهم‌ترین قابلیتش Property Hooks است که اجازه می‌ده رفتار خواندن و نوشتن یه ویژگی رو مستقیماً تعریف کنید و حجم زیادی از کدهای تکراری getter و setter حذف بشه. کنارش امکان تعیین سطح دسترسی متفاوت برای خواندن و نوشتن، اشیای تنبل که فقط در لحظه‌ی نیاز ساخته می‌شن، و پشتیبانی از HTML5 در بخش DOM.

PHP 8.5

PHP 8.5
PHP 8.5

جدیدترین نسخه با چند اضافه‌ی قابل توجه. عملگر Pipe که نوشتن زنجیره‌ی توابع رو خواناتر می‌کنه، افزونه‌ی جدید URI برای کار استاندارد با آدرس‌ها، و یه بهبود که برای هر کسی که تا حالا با خطای اتمام زمان اجرا سروکار داشته ارزشمنده. حالا خطاهای مرگبار همراه با ردگیری کامل تماس‌ها نمایش داده می‌شن، یعنی دقیقاً می‌بینید کجای کد متوقف شده.

یک تصحیح مهم درباره‌ی Preloading

در منابع فارسی زیادی، قابلیت پیش‌بارگذاری یا Preloading به‌عنوان ویژگی PHP 8.2 معرفی می‌شه. این درست نیست. Preloading در PHP 7.4 معرفی شد و از اون زمان در دسترسه. پس اگه در حال ارتقا هستید، این قابلیت دلیل ارتقا به ۸.۲ نیست.

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

در مقابل، OPcache چیزیه که تقریباً همه بهش نیاز دارن و معمولاً هم به‌صورت پیش‌فرض فعاله. این قابلیت نسخه‌ی کامپایل‌شده‌ی کد رو در حافظه نگه می‌داره تا هر بار از نو تفسیر نشه.

یه نکته‌ی کاربردی درباره‌ی OPcache. بعد از هر به‌روزرسانی یا تغییر کد، حافظه‌ی OPcache خالی می‌شه و اولین بازدیدکننده‌ها با کندی مواجه می‌شن. افزونه‌ی رخش قابلیت گرم کردن OPcache در زمان فعال‌سازی رو داره که همین فاصله رو پر می‌کنه.

افزونه رخش
افزونه رخش

پایش کوئری‌های کند دیتابیس هم در همون افزونه به شما نشون می‌ده اگه بعد از ارتقای PHP هنوز سایت کنده، مشکل واقعاً از کجاست.

چطور نسخه PHP را عوض کنیم؟

در دایرکت‌ادمین

بیشتر هاست‌های ایرانی از دایرکت‌ادمین استفاده می‌کنن. وارد پنل بشید و در بخش امکانات پیشرفته، دنبال گزینه‌ای با عنوان انتخاب نسخه PHP یا Select PHP Version بگردید. نسخه‌ی موردنظر رو انتخاب و ذخیره کنید.

Select PHP Version
Select PHP Version

در همون صفحه معمولاً امکان فعال کردن افزونه‌های PHP هم هست. مطمئن بشید ماژول‌های موردنیاز وردپرس مثل curl، gd، mbstring، xml و zip فعال باشن.

انتخاب ورژن php
انتخاب ورژن php

اگه این گزینه رو پیدا نکردید، ممکنه شرکت هاستینگ اون رو برای کاربران فعال نکرده باشه. در این حالت یه تیکت بزنید.

در سی‌پنل

وارد سی‌پنل بشید و در بخش نرم‌افزار، گزینه‌ی Select PHP Version یا MultiPHP Manager رو باز کنید. نسخه رو از فهرست انتخاب و اعمال کنید.

روی سرور مجازی

اگه خودتون سرور رو مدیریت می‌کنید، نصب از طریق مخازن سیستم‌عامل انجام می‌شه و بعدش باید وب‌سرور رو راه‌اندازی مجدد کنید. اگه چند سایت روی سرور دارید، دقت کنید که تغییر نسخه ممکنه روی همه‌شون اثر بذاره مگر اینکه جداگانه پیکربندی شده باشن.

اگر گزینه‌ای پیدا نکردید

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

قبل از ارتقا این کارها را انجام دهید

ارتقای PHP معمولاً بی‌دردسره، اما «معمولاً» کافی نیست وقتی سایتتون درآمد داره.

  • بک‌آپ کامل بگیرید. از فایل‌ها و دیتابیس، و یه نسخه‌ش رو خارج از هاست ذخیره کنید.
  • افزونه‌ها و قالب را به‌روز کنید. بیشتر مشکلات بعد از ارتقا، از افزونه‌های قدیمی میان نه از خود PHP. اگه همه‌چیز به‌روز باشه، احتمال مشکل به‌شدت کم می‌شه.
  • فهرست افزونه‌های رهاشده را بررسی کنید. هر افزونه‌ای که سال‌هاست به‌روزرسانی نشده، بیشترین احتمال ناسازگاری رو داره. این فرصت خوبیه که ازشون خلاص بشید.
  • روی نسخه‌ی آزمایشی تست کنید. اگه هاستتون قابلیت Staging داره، اول اونجا ارتقا بدید و سایت رو کامل بررسی کنید.
  • زمان مناسب انتخاب کنید. نه شب پیش از یه کمپین فروش، و نه ساعت اوج ترافیک سایت.

بعد از ارتقا چه چیزی ممکن است خراب شود؟

بعد از تغییر نسخه، این موارد رو بررسی کنید:

پیام‌های خطا در بالای صفحات. معمولاً به‌خاطر کدهای قدیمی در قالب یا افزونه‌ست. اگه نمایش خطا روی سایت زنده فعاله، غیرفعالش کنید و خطاها رو در فایل لاگ بررسی کنید.

از کار افتادن یک قابلیت خاص. فرم تماس، اسلایدر یا بخشی از فروشگاه. مقصر معمولاً یه افزونه‌ی قدیمیه که با نسخه‌ی جدید سازگار نیست.

صفحه‌ی سفید. یعنی خطای مرگبار رخ داده. حالت اشکال‌زدایی رو با ثبت در لاگ فعال کنید تا ببینید کدوم فایل مشکل داره.

در همه‌ی این حالت‌ها، برگشتن به نسخه‌ی قبلی از همون پنل هاست ممکنه و چند ثانیه طول می‌کشه. پس ارتقا کار برگشت‌ناپذیری نیست.

چک‌لیست ارتقا

  • نسخه فعلی PHP را از سلامت سایت بررسی کرده‌ام
  • بک‌آپ کامل گرفته و خارج از هاست ذخیره کرده‌ام
  • هسته وردپرس، قالب و افزونه‌ها به‌روز هستند
  • افزونه‌های رهاشده و بلااستفاده حذف شده‌اند
  • در صورت امکان روی نسخه آزمایشی تست کرده‌ام
  • زمان کم‌ترافیک انتخاب شده
  • نسخه هدف حداقل PHP 8.3 و ترجیحاً 8.4 است
  • افزونه‌های موردنیاز PHP فعال هستند
  • بعد از ارتقا، صفحه اصلی، فرم‌ها و فرآیند خرید تست شده
  • لاگ خطاها بررسی شده

سوالات متداول

آخرین نسخه پایدار PHP کدام است؟

در زمان نگارش این مقاله، PHP 8.5 که آبان ۱۴۰۴ منتشر شد. نسخه‌ی PHP 8.4 هم همچنان پشتیبانی کامل داره و برای اکثر سایت‌های وردپرسی انتخاب امن‌تریه.

هنوز روی PHP 8.2 هستم، باید عجله کنم؟

بله. پشتیبانی امنیتی این نسخه تا پایان سال میلادی جاری بیشتر ادامه نداره. برنامه‌ی ارتقا به ۸.۳ یا ۸.۴ رو همین حالا بذارید.

ارتقای PHP سایتم را خراب می‌کند؟

در اکثر موارد نه، مخصوصاً اگه قالب و افزونه‌هاتون به‌روز باشن. و اگه مشکلی پیش اومد، برگشتن به نسخه‌ی قبلی از پنل هاست چند ثانیه طول می‌کشه.

واقعاً سرعت سایتم دو برابر می‌شود؟

نه. ارتقا از نسخه‌های ۷ به ۸.۳ و بالاتر معمولاً پونزده تا بیست‌وپنج درصد بهبود می‌ده که رقم خوبیه، اما ادعای دو برابر شدن اغراقه.

تفاوت PHP 8.4 و 8.5 برای سایت من چیست؟

برای یه سایت وردپرسی معمولی، تفاوت عملکردی محسوسی حس نمی‌کنید. تفاوت اصلی در قابلیت‌های زبانی و مدت پشتیبانیه. اگه افزونه‌ی خاص یا کد سفارشی دارید، ۸.۴ انتخاب محافظه‌کارانه‌تریه.

چطور بفهمم افزونه‌هایم با نسخه جدید سازگارند؟

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

هاستم PHP جدید ارائه نمی‌دهد، چه کنم؟

اول با پشتیبانی تماس بگیرید. اگه گفتن امکانش نیست یا برنامه‌ای براش ندارن، وقتشه به تغییر هاست فکر کنید. هاستی که چند سال از استانداردهای روز عقبه، احتمالاً مشکلات دیگه‌ای هم داره.

جمع‌بندی

ارتقای نسخه‌ی PHP یکی از کم‌هزینه‌ترین و پربازده‌ترین کارهاییه که می‌تونید برای سایتتون انجام بدید. رایگانه، چند دقیقه طول می‌کشه، و در صورت بروز مشکل هم قابل برگشته.

خلاصه‌ی توصیه اینه که برای اکثر سایت‌های وردپرسی، PHP 8.4 انتخاب درسته. اگه هاستتون PHP 8.5 ارائه می‌ده و افزونه‌ی قدیمی حساس ندارید، اون هم گزینه‌ی خوبیه. حداقل قابل قبول ۸.۳ است و هر چیزی پایین‌تر از اون، یعنی وقت اقدام رسیده.

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

همین امروز به سلامت سایت وردپرستون سر بزنید و ببینید روی چه نسخه‌ای هستید. اگه عددی که می‌بینید با ۸.۳ شروع نمی‌شه، یه کار پنج‌دقیقه‌ای در انتظارتونه. موفق و پایدار باشید. 🙂

نظر شما در این مورد چیه؟

  1. U576۴ آبان ۱۳۹۹

    درود.
    برخی اوغات با ارتقا به ورژن بالاتر وبسایت دچار مشکل لود میشه. بنده تجربه کردم که وقتی روی نسخه ۷.۲ هستم سایت راحت کار میکنه و وقتی روی نسخه ۷.۳ قرار میدهم وبسایت مشکل لود پیدا میکنه و درست اجرا نمیشه. ظاهرا بایست قالب و پلاگین ها کامل بروز باشه و سازگار.
    سپاس

پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
تیم میهن وردپرس
پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
تیم میهن وردپرسآنلاین و پاسخگوی شما هستیم.آنلاین

در حال بارگذاری...

هر سوالی دارید بپرسید.پاسخگوی شما هستیم.