محتوای آموزشی وبلاگ نتآرام
وردپرس یا یک افزونه پیام میدهد که بخشی از PHP، مثلاً
intl، mbstring یا zip، در دسترس نیست. این بخشها را افزونه یا ماژول PHP مینامند؛ با افزونههای وردپرس که از پیشخوان نصب میکنید فرق دارند. هر ماژول قابلیتی به PHP اضافه میکند و ممکن است سایت یا افزونه خاصی به آن نیاز داشته باشد.برای رفع خطا باید ابتدا نام دقیق ماژول و نسخه PHP اجراکننده سایت را بشناسیم. نصب یک بسته روی نسخه خط فرمان یا تغییر تصادفی نسخه PHP ممکن است برای وبسایت اثری نداشته باشد یا سازگاری آن را خراب کند.
قدم اول: متن خطا را دقیق بخوانید
پیام را همراه نام افزونه وردپرس و زمان ثبت کنید. آیا پیام میگوید ماژول ضروری است یا فقط یک پیشنهاد برای بهبود؟ برای نمونه،
mysqli به ارتباط معمول وردپرس با MySQL/MariaDB مربوط است، zip میتواند به پردازش بستههای فشرده کمک کند و mbstring برای بعضی کارهای متن چندبایتی مفید است. نیاز دقیق به نسخه وردپرس و افزونههای شما بستگی دارد.راهنمای محیط سرور وردپرس ماژولهای لازم و توصیهشده را جدا توضیح میدهد. اگر پیامی نام تابع خاصی را ذکر میکند، ابتدا در مستند همان برنامه پیدا کنید آن تابع به کدام ماژول مربوط است؛ هر خطای تابع به معنی نصبنبودن یک بسته نیست.
اگر سایت کامل بالا نمیآید، گزارش خطای خصوصی سرور و در صورت وجود ایمیل حالت بازیابی وردپرس میتواند نام جزء مشکلدار را نشان دهد. رمز و مسیرهای حساس را از گزارش ارسالی حذف کنید.
قدم دوم: نسخه PHP واقعی سایت را پیدا کنید
در پیشخوان، اگر قابل دسترسی است، به ابزارها ← سلامت سایت ← اطلاعات ← سرور بروید و نسخه PHP و اطلاعات موجود درباره ماژولها را ببینید. نام دقیق بخش با نسخه و ترجمه متفاوت است. در پنل هاست نیز نسخه PHP اختصاصدادهشده به همان دامنه را بررسی کنید.
اگر SSH دارید، دستور زیر فهرست ماژولهای PHP خط فرمان را نشان میدهد:
کد / دستورphp -m
این فرمان تغییری ایجاد نمیکند. اگر
کد / دستورmbstring در خروجی باشد، یعنی همان PHP خط فرمان آن را بارگذاری کرده است؛ تضمین نمیکند PHP مورد استفاده وبسرور هم همان نسخه و تنظیم را دارد. برای دیدن نسخه خط فرمان میتوانید بنویسید:php -v
نسخه و مسیر پردازشگر وب را از پنل یا مدیر سرور جداگانه بگیرید. برای جزئیات بیشتر تفاوت PHP ترمینال و وب را ببینید. برای تشخیص، فایل
phpinfo() را در مسیر عمومی سایت قرار ندهید؛ ممکن است اطلاعات حساس محیط را نشان دهد.قدم سوم: در هاست اشتراکی ماژول را از محل درست فعال کنید
اگر سرویس شما CloudLinux PHP Selector دارد، در cPanel ممکن است گزینهای مانند Select PHP Version ببینید. دامنه و نسخه مورد استفاده را با تنظیمات سرویس تطبیق دهید، فهرست Extensions را باز کنید و ماژول مشخصشده را در صورت ارائه و با رعایت راهنمای میزبان فعال کنید. نام منو و امکان انتخاب در همه سرویسها یکسان نیست. گاهی MultiPHP Manager فقط نسخه دامنه را انتخاب میکند و فهرست نصب ماژول در اختیار مدیر سرور است.
اگر کنترلپنل دایرکتادمین دارید، امکان فعالسازی به تنظیم سرور و روش PHP بستگی دارد. ممکن است مدیر با CustomBuild یا بستههای سیستم ماژول را برای نسخه مناسب آماده کند. مستند دایرکتادمین درباره PHP Extensions توضیح میدهد چند نسخه PHP ممکن است به آمادهسازی جداگانه نیاز داشته باشند.
اگر گزینه ماژول وجود ندارد، از نصب افزونه وردپرس همنام انتظار رفع مشکل نداشته باشید. نام ماژول، نسخه وب PHP، نام دامنه و متن خطا را بدون رمز به پشتیبانی هاست بدهید. از دانلود فایل ماژول ناشناس یا کپی یک فایل باینری از نسخه دیگر PHP خودداری کنید.
اگر سرور را خودتان مدیریت میکنید
ابتدا سیستمعامل، شیوه نصب PHP، نسخه مورد استفاده وب و روش اجرای آن را مشخص کنید. نصب بسته برای Ubuntu، AlmaLinux، EasyApache یا CustomBuild یکسان نیست. از مخزن رسمی و بسته سازگار با همان نسخه استفاده کنید و پیش از اعمال، اثر روی سایر سایتها، برنامه بازگشت و نیاز احتمالی به بارگذاری مجدد پردازشگر را بررسی کنید. دستور یک توزیع را روی توزیع دیگر کپی نکنید.
بعد از تغییر، لاگ راهاندازی PHP یا وبسرور را برای خطای بارگذاری ماژول ببینید. اگر نسخه باینری و ماژول سازگار نباشند، ممکن است خود سرویس شروع نشود یا ماژول بارگذاری نشود. در سرور چندسایته ابتدا تغییر را در محیط آزمایشی و با هماهنگی مدیر انجام دهید.
نتیجه را چطور تأیید کنیم؟
صفحه سلامت سایت یا همان افزونهای را که خطا میداد دوباره باز کنید. سپس کار واقعی را امتحان کنید: مثلاً اگر خطا هنگام نصب یک بسته رخ میداد، در محیط آزمایشی بسته مناسب را نصب کنید؛ اگر هنگام تولید تصویر بود، یک تصویر آزمایشی بارگذاری کنید. نبودن هشدار بهتنهایی همه عملکردها را تأیید نمیکند.
اگر ماژول در خط فرمان موجود است ولی خطای وب ادامه دارد، نسخه و handler وب یا کش تنظیمات را با مدیر تطبیق دهید. اگر فقط یک افزونه خطا دارد، مستندات نسخه همان افزونه و سازگاری آن با PHP را بررسی کنید. در هاست وردپرس نتآرام، امکانات فعالسازی به تنظیم سرویس و نسخه PHP دامنه بستگی دارد.
مقاله قبلی
مقاله بعدی
دیدگاهها (۰)
دیدگاههای تاییدشده و پاسخهای تیم نتآرام
