Opens in a new tab

نسخهٔ PHP در WordPress: چطور آن را بررسی و به‌روز کنید

هر سایت WordPress روی PHP اجرا می‌شود و نسخهٔ PHP تعیین می‌کند که سایت هنوز وصلهٔ امنیتی می‌گیرد یا نه. در اکتبر 2026 دو آسیب‌پذیری بحرانی در PHP پیدا شد که فقط با به‌روزرسانی PHP برطرف می‌شدند. به‌روزرسانی WordPress کمکی نمی‌کرد. در این راهنما می‌خوانید: بررسی نسخهٔ PHP در دو دقیقه، انتخاب نسخهٔ امن و به‌روزرسانی بدون اینکه سایت از کار بیفتد.

PHP2Shell: چرا نسخهٔ PHP حالا مهم است

پروژهٔ PHP در 21 اکتبر 2026 برای دو آسیب‌پذیری بحرانی (CVE-2026-109618 و CVE-2026-109619) وصلهٔ امنیتی منتشر کرد. این دو آسیب‌پذیری PHP2Shell نام گرفته‌اند. شدت هر دو 9.2/10 (CVSS 4.0) است. در بدترین حالت، مهاجم می‌تواند بدون ورود به سیستم فرمان‌های خودش را روی سرور اجرا کند. در نصب‌های Apache با mod_php، حمله ممکن است حتی پیش از اجرای هر کدی از WordPress شروع شود.

این آسیب‌پذیری‌ها همهٔ نسخه‌های هر شاخهٔ PHP را تا پیش از نسخهٔ اصلاحی در بر می‌گیرند: 8.2.35، 8.3.36، 8.4.27 و 8.5.12. PHP 8.1 و نسخه‌های قدیمی‌تر دیگر از پروژهٔ PHP به‌روزرسانی نمی‌گیرند. PHP در 23 اکتبر از آسیب‌پذیری سومی هم خبر داد (CVE-2026-115560) که بهره‌برداری از آن به ترکیب نادری از تنظیمات و کد برنامه نیاز دارد. این مورد در انتشار عادی بعدی اصلاح می‌شود.

به گفتهٔ مرکز ملی امنیت سایبری فنلاند (NCSC-FI)، در 21 اکتبر گزارشی از بهره‌برداری فعال از این آسیب‌پذیری‌ها وجود نداشت، اما کدهای نمونهٔ کارا از قبل وجود داشت. پس وضعیت ممکن است به‌سرعت تغییر کند.

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

چطور نسخهٔ PHP را بررسی کنیم

از پیشخوان WordPress

  1. با حساب مدیر وارد WordPress شوید.
  2. از منوی کناری ابزارها ← سلامت سایت را انتخاب کنید (در WordPress انگلیسی: Tools → Site Health).
  3. زبانهٔ اطلاعات (Info) را باز کنید و سپس بخش سرور (Server) را.
  4. در ردیف نگارش php (PHP version) شمارهٔ دقیق نسخه دیده می‌شود، مثلاً 8.3.36.

به کل شماره نگاه کنید. شاخه (8.3) نشان می‌دهد که نسخه هنوز پشتیبانی می‌شود یا نه، و عدد آخر (36) نشان می‌دهد که آخرین وصله نصب شده است یا نه. اگر نسخه قدیمی باشد، WordPress در پیشخوان هشدار به‌روزرسانی PHP ضروری است را هم نشان می‌دهد. اما منتظر این هشدار نمانید و شماره را خودتان بررسی کنید.

از کنترل‌پنل هاست

در بیشتر هاست‌ها نسخهٔ PHP را می‌توان در کنترل‌پنل دید و همان‌جا تغییر داد. در cPanel این بخش معمولاً MultiPHP Manager یا Select PHP Version نام دارد و در Plesk در تنظیمات PHP هر دامنه پیدا می‌شود. اگر آن را پیدا نکردید، از شرکت میزبانی بپرسید سایت شما روی کدام نسخهٔ PHP است و آیا وصلهٔ اکتبر 2026 نصب شده است.

از روی سرور (برای مدیران سرور)

روی سرور خودتان، فرمان php -v نسخهٔ PHP خط فرمان را نشان می‌دهد. سایت لزوماً با همان PHP اجرا نمی‌شود، چون وب‌سرور ممکن است از طریق PHP-FPM یا ماژول Apache از نسخهٔ دیگری استفاده کند. مطمئن‌ترین اطلاعات در صفحهٔ سلامت سایت WordPress است.

توزیع‌های Linux مانند Debian، Ubuntu و Red Hat اغلب وصله‌ها را بدون تغییر شمارهٔ نسخه به بسته‌های خودشان منتقل می‌کنند. پس ممکن است شماره قدیمی به نظر برسد، در حالی که وصله نصب شده است. در این صورت در تغییرنامهٔ بسته ببینید آیا شناسه‌های CVE در آن آمده‌اند یا نه.

کدام نسخهٔ PHP امن است؟

نسخهٔ امن دو شرط دارد: شاخهٔ آن هنوز وصلهٔ امنیتی می‌گیرد و آخرین نسخهٔ اصلاحی همان شاخه روی سرور نصب است. وضعیت در اکتبر 2026 این است:

شاخهٔ PHP پایان پشتیبانی امنیتی نسخهٔ دارای وصلهٔ PHP2Shell
8.5 31 دسامبر 2029 8.5.12
8.4 31 دسامبر 2028 8.4.27
8.3 31 دسامبر 2027 8.3.36
8.2 31 دسامبر 2026 8.2.35
8.1 و قدیمی‌تر پایان یافته (8.1: 31 دسامبر 2025، 7.4: 28 نوامبر 2022) بدون انتشار رسمی

توصیهٔ WordPress استفاده از PHP 8.3 یا جدیدتر است. WordPress هنوز روی PHP 7.4 هم کار می‌کند، اما wordpress.org هشدار می‌دهد که نسخهٔ قدیمی ممکن است سایت را در معرض مشکلات امنیتی قرار دهد. پشتیبانی PHP 8.2 در پایان 2026 تمام می‌شود، پس اگر سایت شما از آن استفاده می‌کند، از همین حالا مهاجرت به 8.3 یا 8.4 را برنامه‌ریزی کنید.

برای نسخه‌های 7.4، 8.0 و 8.1، تیم امنیتی PHP وصلهٔ PHP2Shell را فقط به‌صورت کد منبع منتشر کرد، برای کسانی که PHP را خودشان کامپایل می‌کنند. برخی توزیع‌های Linux و شرکت‌های میزبانی برای نسخه‌های قدیمی بسته‌های وصله‌شدهٔ خودشان را می‌سازند. با این حال راه‌حل پایدار مهاجرت به نسخه‌ای است که پشتیبانی می‌شود.

چطور PHP را به‌روزرسانی کنیم

روی هاست

روی هاست، وصله‌های همان شاخه (مثلاً 8.3.35 ← 8.3.36) را معمولاً شرکت میزبانی نصب می‌کند. تغییر شاخه (مثلاً 8.1 ← 8.3) را بیشتر وقت‌ها خودتان از کنترل‌پنل انجام می‌دهید. این مراحل را دنبال کنید:

  1. نسخهٔ پشتیبان بگیرید، هم از فایل‌ها و هم از پایگاه داده. بسیاری از هاست‌ها این امکان را در کنترل‌پنل دارند.
  2. WordPress، پوسته‌ها و افزونه‌ها را به‌روزرسانی کنید. افزونه یا پوستهٔ قدیمی دلیل رایجی است که سایت با به‌روزرسانی PHP از کار می‌افتد.
  3. اول روی یک نسخهٔ کپی آزمایش کنید، اگر هاست محیط آزمایشی (staging) دارد.
  4. از کنترل‌پنل نسخهٔ PHP را تغییر دهید.
  5. سایت را مرور کنید: صفحهٔ اصلی، فرم‌ها، صفحهٔ پرداخت فروشگاه اینترنتی و پیشخوان. در صفحهٔ سلامت سایت بررسی کنید که نسخهٔ جدید فعال شده باشد.

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

روی سرور خودتان

  • بسته‌های به‌روزشدهٔ PHP توزیع خود را نصب کنید (مثلاً apt upgrade یا dnf upgrade) یا نسخهٔ وصله‌شده را کامپایل کنید.
  • PHP-FPM، Apache و دیگر پردازش‌هایی را که PHP اجرا می‌کنند، مانند کارهای پس‌زمینه، دوباره راه‌اندازی کنید. وصله فقط پس از این کار اعمال می‌شود.
  • اگر سایت در کانتینر اجرا می‌شود، یک ایمیج جدید بر پایهٔ PHP وصله‌شده بسازید و آن را مستقر کنید.
  • در پایان نسخه را در صفحهٔ سلامت سایت بررسی کنید.

اگر نمی‌توانید فوراً به‌روزرسانی کنید

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

  • session.upload_progress.enabled=0 روش‌های حملهٔ تأییدشده برای آسیب‌پذیری‌های CVE-2026-109619 و CVE-2026-115560 را مسدود می‌کند. به گفتهٔ PHP، اگر به این قابلیت نیاز ندارید، بهتر است حتی پس از به‌روزرسانی هم آن را خاموش نگه دارید.
  • در PHP 8.5، fatal_error_backtraces=0 یک روش حملهٔ تأییدشدهٔ دیگر را از بین می‌برد.

هیچ‌کدام از این تنظیمات از آسیب‌پذیری CVE-2026-109618 محافظت نمی‌کند. این تنظیمات می‌توانند برایتان زمان بخرند، اما جای به‌روزرسانی را نمی‌گیرند.

پرسش‌های متداول

آیا WordPress خودش PHP را به‌روزرسانی می‌کند؟
نه. WordPress خودش را به‌روزرسانی می‌کند، اما PHP نرم‌افزار سرور است و آن را شرکت میزبانی یا مدیر سرور به‌روزرسانی می‌کند. به همین دلیل به‌روزرسانی WordPress آسیب‌پذیری‌های PHP2Shell را برطرف نمی‌کند.

برای WordPress کدام نسخهٔ PHP را انتخاب کنم؟
WordPress استفاده از PHP 8.3 یا جدیدتر را توصیه می‌کند. در اکتبر 2026 گزینه‌های خوب 8.3 و 8.4 هستند، به شرط آنکه آخرین وصله نصب باشد و افزونه‌ها از آن نسخه پشتیبانی کنند.

آیا به‌روزرسانی PHP سایت را خراب می‌کند؟
نسخهٔ اصلاحی در همان شاخه، مثلاً 8.3.35 ← 8.3.36، به‌ندرت چیزی را خراب می‌کند. تغییر شاخه ممکن است یک افزونه یا پوستهٔ قدیمی را از کار بیندازد، پس نسخهٔ پشتیبان بگیرید و اول آزمایش کنید.

آیا PHP 7.4 هنوز امن است؟
نه. پشتیبانی امنیتی آن در 28 نوامبر 2022 تمام شد. WordPress هنوز روی 7.4 کار می‌کند، اما wordpress.org هشدار می‌دهد که نسخهٔ قدیمی ممکن است سایت را در معرض مشکلات امنیتی قرار دهد.

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

اگر به‌روزرسانی PHP افزونه‌ای را از کار انداخت یا برای نگهداری سایت به کسی نیاز دارید، با ما تماس بگیرید. ما در به‌روزرسانی برنامه‌های WordPress و PHP کمک می‌کنیم.

منابع

Related posts