SHET26
English

ماژول‌های مورد نیاز PHP برای وردپرس که باید روی سرور نصب کنیم

ماژول‌های مورد نیاز PHP برای وردپرس که باید روی سرور نصب کنیم

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

توی این راهنما، ماژول‌های مورد نیاز PHP برای وردپرس رو دسته‌بندی می‌کنیم و روش بررسی و فعال‌سازی اون‌ها رو قدم‌به‌قدم توضیح می‌دیم. همین‌طور می‌بینیم که ماژول PHP چه فرقی با مواردی مثل PHP-FPM و PHP CLI داره. اگه فقط می‌خواید هشدار «ماژول پیشنهادی وجود نداره» رو برطرف کنید، راهنمای رفع خطای نبودن ماژول‌های پیشنهادی وردپرس هم می‌تونه کمکتون کنه.

تاریخ نگارش این مقاله ۲ شهریور ۱۴۰۵ هست. نسخه‌های PHP، نیازمندی‌های وردپرس و تنظیمات سرورها ممکنه بعداً تغییر کنن؛ پس محض اطمینان، قبل از هر تغییری موارد لازم رو در منابع رسمی وردپرس، PHP و سرویس میزبانی خودتون هم بررسی کنید.

آنچه در این مقاله می‌خوانید

ماژول‌های مورد نیاز PHP برای وردپرس در یک نگاه

PHP
PHP

تفاوت ماژول‌های لازم، پیشنهادی و اختیاری چیه؟

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

جدول کامل ماژول‌ها و کاربرد هرکدوم

دستهماژول یا قابلیتکاربرد اصلی
لازمmysqliاتصال وردپرس به MySQL یا MariaDB
لازمjsonتبادل داده با REST API، ویرایشگر و ابزارهای دیگه
به‌شدت پیشنهادیcurl، opensslارتباط امن، دریافت به‌روزرسانی و اتصال به سرویس‌ها
به‌شدت پیشنهادیdom، xmlپردازش داده‌ها و سندهای XML
به‌شدت پیشنهادیexif، fileinfo، imagickتشخیص و پردازش فایل و تصویر
به‌شدت پیشنهادیintl، mbstringپردازش درست زبان‌ها و متن‌های چندبایتی مثل فارسی
به‌شدت پیشنهادیzipبازکردن بسته‌های فشرده افزونه و قالب
به‌شدت پیشنهادیhash، igbinaryپردازش امن داده و بهینه‌سازی بعضی سامانه‌های کش
وابسته به نیازsoap، bcmath، gd، libsodium، gettextقابلیت‌های خاص افزونه‌ها، سرویس‌ها و محیط سرور

وردپرس به کدوم نسخه PHP نیاز داره؟

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

نسخه پیشنهادی PHP و بقیه نیازمندی‌های فعلی وردپرس در صفحه رسمی
نسخه پیشنهادی PHP و بقیه نیازمندی‌های فعلی وردپرس در صفحه رسمی

تفاوت حداقل نسخه قابل‌اجرا با نسخه پیشنهادی و امن

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

جدول رسمی شاخه‌های پشتیبانی‌شده PHP و دوره پشتیبانی هر نسخه
جدول رسمی شاخه‌های پشتیبانی‌شده PHP و دوره پشتیبانی هر نسخه

قبل از تغییر نسخه PHP چه چیزهایی رو بررسی کنید؟

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

ماژول‌های لازم برای اجرای وردپرس

mysqli برای اتصال وردپرس به پایگاه داده

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

json برای تبادل داده بین وردپرس و ابزارهای دیگه

JSON یک قالب سبک برای جابه‌جایی داده هست. ویرایشگر بلوکی، REST API وردپرس و خیلی از افزونه‌ها از این قالب استفاده می‌کنن. پشتیبانی JSON در PHP 8 همیشه فعاله؛ برای همین معمولاً بسته جداگانه‌ای برای فعال‌کردنش نمی‌بینید.

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

curl برای ارتباط با سرویس‌ها و دریافت به‌روزرسانی‌ها

curl به PHP اجازه می‌ده درخواست اینترنتی بفرسته و پاسخ دریافت کنه. وردپرس و افزونه‌ها برای دریافت به‌روزرسانی و ارتباط با APIها، یعنی راه‌های ارتباط نرم‌افزارها با هم، و سرویس‌های بیرونی از این قابلیت استفاده می‌کنن.

dom و xml برای پردازش محتوای XML

dom و xml برای خواندن و ساختن سندهای XML و بعضی ساختارهای HTML به کار می‌رن. فیدها، ابزارهای درون‌ریزی و برون‌بری محتوا و بعضی افزونه‌ها به این قابلیت‌ها وابسته هستن.

exif برای خواندن اطلاعات تصاویر

exif اطلاعات ذخیره‌شده داخل بعضی عکس‌ها، مثل جهت تصویر، رو می‌خونه. وردپرس ممکنه از این داده‌ها همراه با ابزار پردازش تصویر سرور برای نمایش عکس در جهت درست استفاده کنه.

fileinfo برای تشخیص نوع واقعی فایل‌ها

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

hash برای پردازش امن داده‌ها

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

imagick برای پردازش و بهینه‌سازی تصاویر

imagick رابط PHP برای ImageMagick هست. وردپرس با کمک اون می‌تونه کارهایی مثل تغییر اندازه و ویرایش تصاویر رو انجام بده. فرمت‌های قابل‌استفاده به تنظیمات و سیاست امنیتی سرور بستگی دارن؛ پس پشتیبانی از همه فرمت‌ها تضمین‌شده نیست.

intl برای زبان‌ها، تاریخ‌ها و قالب‌های محلی

intl ابزارهای مربوط به زبان‌ها و قالب‌های محلی رو در اختیار PHP می‌ذاره. بعضی قالب‌ها و افزونه‌ها با کمک این ماژول، اعداد و تاریخ‌ها رو متناسب با زبان قالب‌بندی می‌کنن و متن‌ها رو دقیق‌تر مرتب می‌کنن.

mbstring برای پردازش درست متن فارسی و چندبایتی

mbstring برای متن‌های چندبایتی استفاده می‌شه؛ یعنی متن‌هایی که هر نویسه اون‌ها لزوماً داخل یک بایت جا نمی‌گیره. این ماژول به پردازش درست متن فارسی و زبان‌های مشابه کمک می‌کنه.

openssl برای ارتباط‌های رمزنگاری‌شده

openssl ابزارهای رمزنگاری رو در اختیار PHP می‌ذاره. ارتباط امن با مخزن وردپرس، سرویس‌های بیرونی و خیلی از APIها به پشتیبانی درست TLS و تنظیمات ارتباطی سرور وابسته هست.

zip برای نصب و مدیریت فایل‌های فشرده

zip امکان بازکردن و ساختن فایل ZIP رو فراهم می‌کنه. وردپرس موقع نصب یا به‌روزرسانی بسته‌های فشرده قالب و افزونه از این قابلیت کمک می‌گیره.

igbinary برای بهینه‌تر شدن ذخیره داده در بعضی سیستم‌های کش

igbinary داده‌های PHP رو به شکل فشرده‌تری سریال‌سازی می‌کنه؛ یعنی اون‌ها رو به فرم مناسبی برای ذخیره و بازیابی تبدیل می‌کنه. کاربرد این قابلیت بیشتر در بعضی سامانه‌های کش شیء مثل Redis یا Memcached دیده می‌شه و به تنظیمات همون سامانه بستگی داره.

ماژول‌هایی که فقط در شرایط خاص بهشون نیاز دارید

soap برای بعضی درگاه‌ها و سرویس‌های قدیمی

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

bcmath برای افزونه‌هایی با محاسبات دقیق

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

gd به‌عنوان ابزار جایگزین پردازش تصویر

gd یک کتابخانه دیگه برای پردازش تصویر هست. اگه imagick در دسترس نباشه، وردپرس می‌تونه خیلی از کارهای معمول مربوط به تصاویر رو با GD انجام بده. انتخاب مناسب به فرمت تصاویر، منابع سرور و تنظیمات هاستتون بستگی داره.

libsodium برای قابلیت‌های رمزنگاری بعضی افزونه‌ها

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

gettext برای بعضی ابزارها و فرایندهای ترجمه

gettext امکاناتی برای ترجمه نرم‌افزار در اختیار برنامه‌ها می‌ذاره. وردپرس سازوکار ترجمه خودش رو داره و نمایش ترجمه‌ها همیشه به افزونه PHP Gettext وابسته نیست، ولی ممکنه بعضی ابزارهای جانبی ازش استفاده کنن.

مواردی که ماژول مستقل وردپرس نیستن

PHP-FPM چیه و چه نقشی روی سرور داره؟

PHP-FPM درخواست‌های PHP رو مدیریت و اجرا می‌کنه و یک افزونه مورد نیاز هسته وردپرس نیست. وب‌سرورهایی مثل Nginx یا Apache می‌تونن درخواست‌های PHP رو به اون بسپارن. سرعت نهایی سایت به تعداد پردازش‌ها، حافظه و بقیه تنظیمات سرور هم بستگی داره.

PHP CLI و WP-CLI چه کاربردی دارن؟

PHP CLI نسخه خط فرمان PHP هست. WP-CLI هم ابزار رسمی خط فرمان وردپرسه. با این ابزار می‌تونید کارهایی مثل به‌روزرسانی، مدیریت کاربران یا اجرای Cron رو از ترمینال انجام بدید. البته سایت برای نمایش صفحه‌ها به CLI نیاز نداره.

php-common و نام بسته‌ها در سیستم‌عامل‌های مختلف

php-common اسم یک بسته در بعضی توزیع‌های لینوکس هست و ممکنه چند قابلیت پایه رو با هم نصب کنه. پس نباید اون رو یک ماژول مستقل وردپرس بدونید. محتویات و اسم بسته‌ها بین اوبونتو، دبیان، AlmaLinux، Rocky Linux و مخزن‌های مختلف فرق می‌کنه.

readline چه زمانی به کارتون میاد؟

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

ماژول‌های داخلی PHP که معمولاً جداگانه فعال نمی‌شن

json، hash و pcre در نسخه‌های جدید PHP

JSON در PHP 8 همیشه فعاله و Hash هم از PHP 7.4 همیشه در دسترسه. PCRE هم جزو PHP حساب می‌شه؛ همون موتور جست‌وجوی الگویی که توابع preg_* ازش استفاده می‌کنن. برای همین ممکنه اسم این قابلیت‌ها رو در فهرست نیازمندی‌ها ببینید، ولی بسته جداگانه‌ای برای فعال‌کردن اون‌ها پیدا نکنید.

چرا اسم بسته با اسم قابلیت PHP همیشه یکی نیست؟

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

ماژول‌های قدیمی که نباید نصب کنید

mcrypt و گزینه‌های مناسب برای رمزنگاری

mcrypt در PHP 7.1 منسوخ شد و در PHP 7.2 از هسته PHP بیرون رفت. کدهای امروزی باید متناسب با کاربردشون از APIهای امن و پشتیبانی‌شده OpenSSL یا Sodium استفاده کنن. اگه افزونه‌ای هنوز به mcrypt نیاز داره، بهتره اون افزونه رو با یک گزینه به‌روز و پشتیبانی‌شده عوض کنید.

mysql قدیمی و جایگزین‌های mysqli و PDO_MySQL

افزونه قدیمی mysql در PHP 5.5 منسوخ و در PHP 7 حذف شد. mysqli و PDO_MySQL جایگزین‌های فعلی اون هستن. یادتون نره که افزونه mysql با خود پایگاه داده MySQL فرق داره.

ereg و توابع جدیدتر preg

توابع ereg سال‌هاست که از PHP حذف شدن. کدهای سازگار امروزی از توابع preg_* مبتنی بر PCRE استفاده می‌کنن. اگه یک قالب یا افزونه هنوز به ereg نیاز داره، احتمالاً کد اون قدیمیه.

چطور ماژول‌های فعال PHP رو در وردپرس بررسی کنید؟

روش اول: بررسی از بخش سلامت سایت وردپرس

از کدوم مسیر وارد اطلاعات سرور بشید؟

در پیشخوان وردپرس به «ابزارها ← سلامت سایت» برید و بعد برگه «اطلاعات» رو باز کنید. این روش برای تازه‌کارها ساده‌تر و امن‌تره. برای آشنایی بیشتر با این بخش، راهنمای افزایش سلامت سایت وردپرسی رو هم ببینید.

صفحه سلامت سایت
صفحه سلامت سایت

نسخه PHP و ماژول‌ها رو کجا ببینید؟

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

روش دوم: بررسی وضعیت سیستم در ووکامرس

اگه از ووکامرس استفاده می‌کنید، از مسیر «ووکامرس ← وضعیت» وارد گزارش سیستم بشید. در این بخش می‌تونید نسخه PHP، محدودیت حافظه و بعضی قابلیت‌های سرور رو ببینید. اسم دقیق منو ممکنه با توجه به نسخه یا ترجمه افزونه کمی فرق کنه.

بررسی وضعیت سیستم در ووکامرس
بررسی وضعیت سیستم در ووکامرس

روش سوم: بررسی از پنل هاست

در cPanel معمولاً گزینه‌ای مثل Select PHP Version یا PHP Extensions می‌بینید. در DirectAdmin هم معمولاً بخشی برای انتخاب نسخه PHP در دسترسه. امکانات شرکت‌های میزبانی با هم فرق دارن؛ پس اگه گزینه مربوط به ماژول‌ها رو پیدا نکردید، از پشتیبانی هاست بپرسید.

روش چهارم: بررسی با SSH و دستور php -m

اگه به SSH دسترسی دارید، دستور زیر فهرست ماژول‌های فعال در محیط خط فرمان رو نشون می‌ده:

php -m

یادتون باشه نسخه یا تنظیمات PHP در خط فرمان ممکنه با PHP وب‌سایت فرق داشته باشه. دستور php --ini مسیر فایل‌های تنظیمات همین محیط خط فرمان رو نشون می‌ده.

روش تخصصی: استفاده موقت و امن از phpinfo()

چطور فایل info.php رو بسازید؟

این روش برای مدیر سرور یا کاربر فنی مناسبه و بهتره روی پوشه عمومی سایت انجامش ندید. اگه روش‌های قبلی جواب ندادن، از مدیر سرور بخواید خروجی موقت phpinfo() رو در یک مسیر محافظت‌شده در اختیارتون بذاره. کد مورد استفاده اینه:

<?php
phpinfo();

چرا باید فایل info.php رو فوری پاک کنید؟

خروجی phpinfo() جزئیات زیادی درباره نسخه‌ها، مسیرها و تنظیمات سرور نشون می‌ده. به همین دلیل باید دسترسی به اون محدود باشه و فایل بلافاصله بعد از بررسی پاک بشه. بعد از حذف هم نشانی فایل رو دوباره باز کنید تا مطمئن بشید دیگه در دسترس نیست.

چطور یک ماژول PHP رو فعال یا نصب کنید؟

فعال‌سازی ماژول در هاست اشتراکی

اول ابزار انتخاب PHP رو در پنل هاست باز کنید. نسخه PHP مربوط به دامنه رو انتخاب کنید، تیک ماژول موردنیاز رو بزنید و تنظیمات رو ذخیره کنید. بعد دوباره سلامت سایت و بخشی رو که مشکل داشت بررسی کنید.

درخواست فعال‌سازی از پشتیبانی هاست

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

نصب ماژول روی اوبونتو و دبیان

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

sudo apt update
sudo apt install php8.4-curl

نصب ماژول روی AlmaLinux و Rocky Linux

در خانواده RHEL معمولاً از dnf استفاده می‌شه، ولی اسم بسته به مخزن فعال و نسخه PHP بستگی داره. دستور زیر فقط یک نمونه عمومی هست؛ قبل از اجرا از درست‌بودن بسته برای نسخه PHP سرورتون مطمئن بشید:

sudo dnf install php-curl

چرا دستور نصب به نسخه PHP و مخزن سرور بستگی داره؟

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

بعد از نصب چه سرویس‌هایی رو باید راه‌اندازی دوباره کنید؟

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

اگه یک ماژول PHP نصب نباشه چه اتفاقی می‌افته؟

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

اثر دقیق نبودن یک ماژول به کاربرد اون بستگی داره. نبودن mysqli با نبودن یک ماژول اختیاری مثل soap یکسان نیست. پس اول متن کامل خطا و مستندات افزونه رو بررسی کنید.

چطور خطای نبودن ماژول PHP رو برطرف کنید؟

  1. نام دقیق ماژول رو از متن خطا پیدا کنید.
  2. نسخه PHP سایتتون رو از سلامت سایت یا پنل هاست بررسی کنید.
  3. فعال‌بودن ماژول رو در پنل هاست، سلامت سایت یا خروجی سرور ببینید.
  4. سازگاری قالب و افزونه‌ها رو با نسخه PHP بررسی کنید.
  5. از پشتیبانی هاست بخواید بسته سازگار با همون نسخه PHP رو فعال کنه.
  6. بعد از تغییر، کش سایت رو پاک کنید و بخش مشکل‌دار رو دوباره آزمایش کنید.

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

چک‌لیست نهایی تنظیم PHP برای وردپرس

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

سؤال‌های رایج درباره ماژول‌های PHP وردپرس

آیا همه ماژول‌های PHP باید روی هاست فعال باشن؟

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

برای ووکامرس به کدوم ماژول‌های PHP نیاز دارید؟

ووکامرس به یک محیط سالم و سازگار با وردپرس نیاز داره. قابلیت‌هایی مثل cURL یا fsockopen برای ارتباط‌های بیرونی مهم هستن و بعضی افزونه‌های فروشگاه هم ممکنه به ماژول‌هایی مثل SOAP یا mbstring نیاز داشته باشن. نیاز دقیق درگاه و افزونه‌های فروشگاهتون رو در مستندات رسمی خودشون بررسی کنید.

از کجا بفهمید یک افزونه به ماژول خاصی نیاز داره؟

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

آیا فعال کردن ماژول‌های بیشتر سایت رو سریع‌تر می‌کنه؟

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

آیا برای فعال کردن ماژول PHP به سرور مجازی نیاز دارید؟

معمولاً نه. خیلی از هاست‌های اشتراکی اجازه می‌دن ماژول رو از پنل یا با کمک پشتیبانی فعال کنید. سرور مجازی زمانی به کارتون میاد که به کنترل بیشتری روی تنظیمات سرور نیاز داشته باشید.

بهتره از GD استفاده کنید یا Imagick؟

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

OPcache ماژول ضروری وردپرسه؟

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

بعد از تغییر نسخه PHP چرا سایت خطا می‌ده؟

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

جمع‌بندی

اول مطمئن بشید mysqli در دسترسه و JSON در نسخه PHP سایتتون درست کار می‌کنه. بعد curl، dom، exif، fileinfo، hash، imagick، intl، mbstring، openssl، xml و zip رو بررسی کنید. اگه از یک سیستم کش سازگار استفاده می‌کنید، وضعیت igbinary رو هم ببینید. مواردی مثل soap، bcmath و gettext رو فقط وقتی فعال کنید که واقعاً بهشون نیاز دارید.

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

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

  1. U406987۲۹ اردیبهشت ۱۴۰۵

    سلام خسته نباشید
    این ارور ماژول‌های PHP بیشتر وظیفه‌های در سرور که باعث اجرای سایت شما می‌شوند را انجام می‌دهند. هر تغییری بر روی این‌ها باید توسط مدیر سرور شما انجام شود.

    تیم میزبانی وردپرس یک فهرست از این ماژول‌ها را در کتابچه تیم(در یک برگهٔ جدید باز می‌شود) نگه‌می‌دارد، که هم پیشنهادشده و ضروری است.

    اخطار ماژول اختیاری، imagick، نصب نشده، یا غیرفعال شده است.
    باید توسط هاست ایران برطرف بشه؟

    • تیم پشتیبانیتیم پشتیبانی۵ خرداد ۱۴۰۵

      از پشتیبان هاست بخواهید این ماژول را روی سرویس هاست شما فعال کند.

  2. U333884۴ اسفند ۱۴۰۲

    سلام
    من ماژول imagick رو چجوری فعال کنم؟ بقیه ش رو فعال کردم ولی این یکی رو نمی دونم.

  3. U325642۹ مهر ۱۴۰۲

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

    • تیم پشتیبانیتیم پشتیبانی۹ مهر ۱۴۰۲

      سلام
      در ارتباط با محصول خریداری شده هر سوال و مشکلی که دارید از بخش پشتیبانی ارسال بفرمایید:
      https://mihanwp.com/support/

  4. U324666۱۵ خرداد ۱۴۰۲

    با سلام وقت بخیر
    درود بر شما بنده از شما واقعا متشکریم ایجاد سایت را به طور کلی برای ما آکموزش دادین
    دوم اینکه ماژول های پشنهادی شناسایی نشده باید چه کار کرد

    • رضا راد۲۴ خرداد ۱۴۰۲

      درود بر شما سپاس. باید با هاست در ارتباط باشید براتون نصب کنن

  5. U317973۱ بهمن ۱۴۰۱

    با سلام و وقت بخیر
    ضمن تشکر از سایت خوب شما
    بنده هاست خرید نکردم و فعلا روی لوکال هاست با برنامه زمپ کار میکنم
    این ارور در قسمت سلامت سایت هست
    ماژول اختیاری، imagick، نصب نشده، یا غیرفعال شده است.
    خطا ماژول ضروری، gd، نصب نشده، یا غیرفعال شده است.
    اخطار ماژول اختیاری، intl، نصب نشده، یا غیرفعال شده است.
    بنده مقاله شما را خوندم ولی باز هم متوجه نشدم که این موارد را از کجا دانلود کنم و در کجا نسب کنم
    در صورت امکان راهنمایی بفرمایید

    • رضا راد۵ بهمن ۱۴۰۱

      سلام توی لوکال هاست یکم نصبش مشکله. مشکلی پیش نمیاد کارتون رو انجام بدید و بعد منتقل کنید رو سایت اصلی

      • U383647۹ فروردین ۱۴۰۵

        سلام آقای راد وقتتون بخیر منم همین مشکل رو روی لوکال هاست زمپ دارم و افزونه المنتور هم روی سایت درست کار نمیکنه من احساس میکنم این مشکل افزونه المنتور برای همین ماژول ها هست. به نظرتون چه کار کنم؟

  6. U37578۲۲ اردیبهشت ۱۴۰۰

    نشست PHP توسط یک session_start() فراخوانی تابع ایجاد شده است. این با REST API و درخواست‎های حلقه‌بازگشت تداخل می‌کند. این نشست باید توسط session_write_close() قبل از ایجاد هر درخواست HTTP بسته شود.
    این هم هستش؟؟
    چیه؟

    • رضا راد۲۲ اردیبهشت ۱۴۰۰

      درود بر شما این مشکل از سمت برنامه نویسی هست

  7. U37578۲۲ اردیبهشت ۱۴۰۰

    سلام بنده سوالی داشتم توی وضعیت سایت من نوشته که
    ماژول‌های PHP بیشتر وظیفه‌های در سرور که باعث اجرای سایت شما می‌شوند را انجام می‌دهند. هر تغییری بر روی این‌ها باید توسط مدیر سرور شما انجام شود.

    تیم میزبانی وردپرس یک فهرست از این ماژول‌ها را در کتابچه تیم (در یک برگهٔ جدید باز می‌شود) نگه‌می‌دارد، که هم پیشنهادشده و ضروری است.

    اخطار ماژول اختیاری، imagick، نصب نشده، یا غیرفعال شده است.
    خطا ماژول ضروری، gd، نصب نشده، یا غیرفعال شده است.
    این چی هستش و چجوری باید بر طرفش کنم؟؟ممنون

    • رضا راد۲۲ اردیبهشت ۱۴۰۰

      سلام این ماژول ها باید توسط مدیر هاست شما نصب شوند

      • U37578۲۳ اردیبهشت ۱۴۰۰

        خب من روی لوکال هاست هستم؟

        • رضا راد۲۶ اردیبهشت ۱۴۰۰

          بسته به نرم افزاری که برای لوکال هاست استفاده می‌کنید باید نحوه نصب این ماژول ها رو سرچ کنید.

    • U30499۱۶ بهمن ۱۴۰۰

      open XAMPP control panel
      click Apache config select PHP(php.ini)
      ctrl + F , so search for gd
      you should see a line like ;extension=gd
      just remove ; and save it
      stop apache and restart
      Your XAMPP now has GD enable

  8. U38660۱۸ فروردین ۱۴۰۰

    سلام
    درمورد نحوه نصب این ماژول ها هم لطفا توضیح بدین.

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

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

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