آموزش‌های کلادفلر به‌زودی در این بخش قرار داده می‌شود.

راهنمای سازگاری وردپرس با PHP و دیتابیس

خلاصه

  • وردپرس برای کار کردن، به PHP و پایگاه داده (معمولا MySQL یا MariaDB) نیاز داره. این سه تا باید با هم هماهنگ باشن.
  • تیم وردپرس همیشه سعی می‌کنه از نسخه‌های جدید PHP پشتیبانی کنه و معمولاً هر سال با انتشار نسخه جدید وردپرس، این هماهنگی رو اعلام می‌کنه.
  • «پشتیبانی بتا» یعنی هسته وردپرس با اون نسخه PHP سازگاره ولی ممکنه افزونه‌ها و قالب‌ها هنوز نه؛ تا وقتی ۱۰ درصد سایت‌ها از اون نسخه استفاده نکنن، بتا میمونه.
  • وردپرس به مرور پشتیبانی از نسخه‌های قدیمی PHP رو قطع کرده تا کاربران به سمت نسخه‌های جدیدتر، امن‌تر و سریع‌تر برن؛ مثلاً PHP 7.0 و 7.1 دیگه پشتیبانی نمیشن.
  • جدول‌های سازگاری نشون میدن که کدوم نسخه وردپرس با کدوم نسخه PHP و پایگاه داده کار می‌کنه و چه حداقل‌هایی برای نصب هر نسخه از وردپرس لازمه.
  • برای مثال، وردپرس 6.8 دیگه با PHP 7.1 و قدیمی‌تر کار نمی‌کنه و حداقل PHP 7.2.24 برای وردپرس 6.6 به بالا لازمه.
  • اهمیت این هماهنگی مخصوصاً برای هاستینگ‌ها و مدیران سرورها خیلی بالاست تا زیرساخت مناسب رو فراهم کنن.
  • استفاده از نسخه‌های به روز وردپرس، PHP و پایگاه داده، باعث بهبود عملکرد و افزایش امنیت سایتتون میشه.

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

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

وردپرس و PHP: یه همکاری نزدیک و برنامه‌ریزی شده

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

اما این پروسه پشتیبانی از کی شروع میشه؟ دقیقا بعد از اینکه نسخه جدید PHP به مرحله‌ای به اسم «feature freeze» یا «توقف توسعه ویژگی‌های جدید» میرسه و نسخه‌های آزمایشی یا بتا (beta) اون منتشر میشن. به زبون ساده‌تر، وقتی تیم PHP میگه «خب، ما دیگه ویژگی جدیدی به این نسخه اضافه نمیکنیم و از این به بعد فقط باگ‌ها و مشکلاتش رو برطرف میکنیم»، تیم وردپرس وارد عمل میشه و شروع به تست کردن نرم‌افزار اصلی خودش با اون نسخه جدید PHP میکنه تا ببینه همه چیز سر جاش هست یا نه.

مفهوم «پشتیبانی بتا» در دنیای وردپرس

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

برای همین، وردپرس یه قانون برای خودش گذاشته: تا وقتی که حداقل ۱۰ درصد کل سایت‌های وردپرسی دنیا از یک نسخه مشخص PHP یا بالاتر از اون استفاده نکنن، پشتیبانی از اون نسخه به صورت «بتا» باقی میمونه. رسیدن به این آمار ۱۰ درصدی یه نشونه خیلی خوبه که میگه بخش بزرگی از افزونه‌ها و قالب‌ها هم خودشون رو با نسخه جدید PHP هماهنگ کردن و میشه با خیال راحت‌تری ازش استفاده کرد.

جدول سازگاری نسخه‌های وردپرس و PHP

برای اینکه این رابطه پیچیده رو بهتر درک کنیم، یه جدول خیلی کاربردی وجود داره که نشون میده کدوم نسخه از وردپرس با کدوم نسخه از PHP کار میکنه. تو این جدول، «Y» به معنی سازگار بودن (Yes)، «N» به معنی ناسازگار بودن (No) و «*Y» به معنی پشتیبانی بتا (Beta Support) است.

نسخه وردپرس / نسخه PHP8.48.38.28.18.07.47.37.27.17.05.6 و قدیمی‌تر
6.8Y*YYYYYYYNNN
6.7Y*Y*YYYYYYNNN
6.6NY*YYYYYYNNN
6.5NY*Y*YYYYYYYN
6.4NY*Y*YYYYYYYN
6.3NNY*YYYYYYYN

همونطور که میبینین، مثلا وردپرس نسخه ۶.۸ با نسخه‌های PHP از ۷.۲ تا ۸.۳ کاملا سازگاره (Y) و برای نسخه ۸.۴ پشتیبانی بتا (*Y) ارائه میده، اما با نسخه‌های ۷.۱ و قدیمی‌تر کار نمیکنه (N). این جدول مثل یه راهنمای سریع عمل میکنه.

نگاهی به تاریخچه تغییرات و تصمیم‌های مهم

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

  • جولای ۲۰۲۵: تو این تاریخ، پشتیبانی از PHP 8.3 در وردپرس ۶.۸ از حالت بتا خارج شد و به حالت کاملا سازگار تغییر پیدا کرد.
  • جولای ۲۰۲۵: همزمان، یه تصمیم مهم دیگه هم گرفته شد: پشتیبانی امنیتی برای نسخه‌های خیلی قدیمی وردپرس، یعنی از ۴.۱ تا ۴.۶، به طور کامل متوقف شد.
  • آوریل ۲۰۲۵: قبلا یه برچسبی به اسم «سازگار با استثناها» یا «compatible with exceptions» وجود داشت که تو این تاریخ بازنشسته شد و دیگه ازش استفاده نمیشه.
  • در وردپرس ۶.۷: پشتیبانی آزمایشی یا همون بتا برای PHP 8.4 به وردپرس اضافه شد.
  • در وردپرس ۶.۶:
    • سطح پشتیبانی از PHP 8.2 به «سازگار با استثناها» ارتقا پیدا کرد. (این قبل از بازنشسته شدن این برچسب بود).
    • یه اتفاق مهم دیگه این بود که پشتیبانی از PHP 7.0 و PHP 7.1 به طور کامل قطع شد.
  • در وردپرس ۶.۴: پشتیبانی بتا برای PHP 8.3 معرفی شد.
  • در وردپرس ۶.۳:
    • اینجا هم یه خداحافظی بزرگ داشتیم: پشتیبانی از PHP 5.6 متوقف شد.
    • پشتیبانی از PHP 8.1 به حالت «سازگار با استثناها» تغییر کرد.
    • پشتیبانی از PHP 8.0 هم به حالت «سازگار با استثناها» رفت.
    • یه نکته فنی مهم در مورد این «استثناها» وجود داشت: وردپرس از قابلیتی به اسم «پارامترهای نام‌گذاری شده» (named parameters) که در PHP 8.0 معرفی شد، پشتیبانی نمیکنه. دلیلش اینه که اسم پارامترها در کدهای وردپرس ممکنه در آینده تغییر کنه و این باعث ایجاد مشکل میشه.
    • استثنای دیگه مربوط به دو بخش از فایل سیستم وردپرس یعنی WP_Filesystem_FTPext و WP_Filesystem_SSH2 بود که در صورت شکست اتصال، مشکلاتی داشتن.
  • در وردپرس ۶.۱: پشتیبانی بتا برای PHP 8.2 اضافه شد.
  • در وردپرس ۵.۹: پشتیبانی بتا برای PHP 8.1 اضافه شد.
  • در وردپرس ۵.۶: پشتیبانی بتا برای PHP 8.0 اضافه شد.
  • دسامبر ۲۰۲۲: پشتیبانی امنیتی برای وردپرس نسخه‌های ۳.۷ تا ۴.۰ متوقف شد.
  • در وردپرس ۵.۲: یه جهش بزرگ اتفاق افتاد و پشتیبانی از نسخه‌های قدیمی PHP یعنی از ۵.۲ تا ۵.۵ به کل قطع شد.
  • در وردپرس ۵.۳: پشتیبانی از PHP 7.4 به وردپرس اضافه شد.

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

تیم کامل شد: وردپرس، PHP و پایگاه داده (MySQL/MariaDB)

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

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

نسخه وردپرسPHPMySQLMariaDBتاریخ انتشار
وردپرس 6.88.1 – 8.48.0 / 8.4 / 9.110.5 – 10.6 / 10.11 / 11.4 – 11.52025-04-15
وردپرس 6.78.1 – 8.48.0 / 8.4 / 9.110.5 – 10.6 / 10.11 / 11.4 – 11.52024-11-12
وردپرس 6.68.1 – 8.38.0 / 8.2 – 8.410.5 – 10.6 / 10.11 / 11.1 – 11.2 / 11.42024-07-16
وردپرس 6.58.1 – 8.38.0 – 8.310.4 – 10.6 / 10.11 / 11.0 – 11.32024-04-02
وردپرس 6.48.0 – 8.28.0 – 8.210.4 – 10.6 / 10.10 – 11.12023-11-07
وردپرس 6.38.0 – 8.25.7 – 8.110.4 – 10.6 / 10.9 – 11.02023-08-08
وردپرس 6.28.0 – 8.25.7 – 8.010.3 – 10.112023-03-28
وردپرس 6.17.4 – 8.15.7 – 8.010.3 – 10.62022-11-01
وردپرس 6.07.4 – 8.15.7 – 8.010.3 – 10.62022-05-24
وردپرس 5.97.4 – 8.15.7 – 8.010.2 – 10.62022-01-25
وردپرس 5.87.3 – 8.05.7 – 8.010.2 – 10.62021-07-20
وردپرس 5.77.3 – 8.05.7 – 8.010.2 – 10.52021-03-09
وردپرس 5.67.3 – 8.05.7 – 8.010.2 – 10.52020-12-08
وردپرس 5.57.2 – 7.45.7 – 8.010.2 – 10.52020-08-11
وردپرس 5.47.2 – 7.45.6 – 8.010.2 – 10.42020-03-31
وردپرس 5.37.2 – 7.45.6 – 8.010.2 – 10.42019-11-12
وردپرس 5.27.1 – 7.35.6 – 8.010.1 – 10.32019-05-07
وردپرس 5.17.1 – 7.35.6 – 8.010.1 – 10.32019-02-21
وردپرس 5.07.1 – 7.35.6 – 8.010.1 – 10.32018-12-06
وردپرس 4.97.0 – 7.25.5 – 5.710.0 – 10.22017-11-15
وردپرس 4.85.6 – 7.15.5 – 5.710.0 – 10.22017-06-08
وردپرس 4.75.6 – 7.15.5 – 5.75.5 – 10.12016-12-06
وردپرس 4.65.6 – 7.05.5 – 5.75.5 – 10.12016-08-16
وردپرس 4.55.6 – 7.05.5 – 5.75.5 – 10.12016-04-12
وردپرس 4.45.5 – 7.05.5 – 5.75.5 – 10.12015-12-08
وردپرس 4.35.5 – 5.65.5 – 5.65.5 – 10.02015-08-18
وردپرس 4.25.4 – 5.65.5 – 5.65.5 – 10.02015-04-23
وردپرس 4.15.4 – 5.65.5 – 5.65.5 – 10.02014-12-17
وردپرس 4.05.4 – 5.65.5 – 5.65.5 – 10.02014-09-04
وردپرس 3.95.3 – 5.55.5 – 5.65.5 – 10.02014-04-16
وردپرس 3.85.3 – 5.55.5 – 5.65.52013-12-12
وردپرس 3.75.3 – 5.55.5 – 5.65.52013-10-24

این جدول یه دید کلی و تاریخی از این هماهنگی به ما میده.

حداقل‌های مورد نیاز: کف خواسته‌های وردپرس

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

نسخه وردپرسحداقل نسخه PHPحداقل نسخه MySQLحداقل نسخه MariaDB
+WordPress 6.6+7.2.24+5.5.5+5.5.5
+WordPress 6.5+7.0+5.5.5+5.5.5
+WordPress 6.3+7.0+5.0.15+5.5
+WordPress 5.2+5.6.20+5.0.15+5.5
+WordPress 3.2+5.2.4+5.0.15+5.5
+WordPress 2.9+4.3+4.1.2
+WordPress 2.5+4.3+4.0
+WordPress 2.1+4.2+4.0
+WordPress 2.0+4.2+3.23.23

این جدول به وضوح نشون میده که اگه امروز بخواین وردپرس ۶.۶ یا بالاتر رو نصب کنین، دیگه نمیتونین از PHP 7.0 استفاده کنین و حداقل به نسخه ۷.۲.۲۴ نیاز دارین. یا مثلا تا قبل از وردپرس ۳.۲، میشد وردپرس رو روی PHP 5.2.4 هم نصب کرد، چیزی که امروز دیگه ممکن نیست. این تغییرات برای بهبود عملکرد، امنیت و استفاده از ویژگی‌های جدیدتر تکنولوژی‌های پایه، کاملا ضروریه.


پرسش و پاسخ

سوال ۱: «پشتیبانی بتا» یا «Beta Support» دقیقا یعنی چی؟ یعنی میتونم از اون نسخه PHP با وردپرس استفاده کنم یا ممکنه سایتم خراب بشه؟

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

سوال ۲: چرا وردپرس پشتیبانی از نسخه‌های قدیمی PHP مثل ۷.۱ یا ۵.۶ رو قطع میکنه؟

جواب: بر اساس اطلاعاتی که داریم، وردپرس در نسخه‌های مختلف خودش پشتیبانی از نسخه‌های قدیمی‌تر PHP رو متوقف کرده. مثلا در وردپرس ۶.۶ پشتیبانی از PHP 7.0 و ۷.۱ قطع شد و در وردپرس ۶.۳ پشتیبانی از PHP 5.6 به پایان رسید. این بخشی از روند تکامل وردپرسه تا بتونه با تکنولوژی‌های جدیدتر و امن‌تر هماهنگ بمونه و از قابلیت‌های اونها استفاده کنه.

سوال ۳: مهم‌ترین تغییرات سازگاری در وردپرس ۶.۳ چی بودن؟

جواب: طبق اطلاعات موجود، در وردپرس ۶.۳ چند اتفاق مهم افتاد. اول اینکه پشتیبانی از PHP 5.6 به طور کامل متوقف شد. دوم اینکه سطح پشتیبانی برای PHP 8.1 و PHP 8.0 به «سازگار با استثناها» تغییر کرد که البته این برچسب بعدا بازنشسته شد.

سوال ۴: آیا میتونم وردپرس نسخه ۶.۸ رو روی هاستی با PHP 7.1 نصب کنم؟

جواب: اگه به جدول سازگاری نسخه‌های وردپرس و PHP نگاه کنیم، برای ردیف وردپرس ۶.۸، در ستون مربوط به PHP 7.1، حرف «N» نوشته شده که به معنی «نه» یا «ناسازگار» است. پس امکان نصب وردپرس ۶.۸ روی PHP 7.1 وجود نداره.

منابع

  • [2] WordPress Compatibility – Make WordPress Hosting
  • [1] PHP Compatibility and WordPress Versions – Make WordPress Core

دیدگاه‌ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *