رفع خطای به‌روزرسانی PHP - آموزش رفع خطای به روز رسانی php

آموزش رفع خطای به روز رسانی php

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

Picture of هانیه مجللی
هانیه مجللی

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

اگر هنگام ارتقا با پیام‌هایی مانند «Update failed»، «The PHP version could not be updated»، خطای ۵۰۰، صفحه سفید یا از کار افتادن بخشی از سایت روبه‌رو شده‌اید، مسیر درست این نیست که چند بار پشت سر هم نسخه PHP را تغییر دهید. ابتدا باید مشخص شود خطا از سمت هاست است یا وردپرس و افزونه‌های آن. در این راهنما، روش رفع خطای به‌روزرسانی PHP را مرحله‌به‌مرحله بررسی می‌کنیم؛ از تهیه نسخه پشتیبان و تشخیص علت تا تغییر نسخه، تست سازگاری و بازگشت امن به نسخه قبلی.

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

رفع خطای به‌روزرسانی PHP

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

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

فهرست مطالب

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

ناسازگاری افزونه یا قالب

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

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

محدودیت شرکت هاستینگ

گاهی گزینه تغییر PHP در cPanel یا DirectAdmin وجود دارد، اما کاربر اجازه تغییر نسخه را ندارد. در این شرایط ممکن است هاست از CloudLinux، PHP-FPM یا تنظیمات مدیریتی اختصاصی استفاده کند. برخی سرورها نیز فقط چند نسخه مشخص را ارائه می‌دهند و امکان انتخاب نسخه دلخواه وجود ندارد.

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

تنظیمات نادرست PHP

تغییر نسخه PHP بدون بررسی memory_limit، max_execution_time، upload_max_filesize و post_max_size نیز می‌تواند مشکلاتی ایجاد کند. برای مثال، ممکن است تغییر نسخه موفق باشد اما آپلود فایل‌های بزرگ، اجرای عملیات ووکامرس یا فرایند بروزرسانی افزونه‌ها با خطا مواجه شود.

برخی خطاها نیز به افزونه‌های PHP مانند cURL، mbstring، XML، ZIP، GD یا OpenSSL مربوط هستند. فعال نبودن یکی از این افزونه‌ها ممکن است باعث شود وردپرس نتواند بسته‌های بروزرسانی را دانلود یا استخراج کند.

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

نسخه پشتیبان کامل بگیرید

بکاپ استاندارد باید شامل دو بخش باشد: فایل‌های وردپرس و پایگاه داده. بکاپ فقط از پوشه wp-content کافی نیست؛ چون اطلاعات نوشته‌ها، کاربران، تنظیمات ووکامرس و سفارش‌ها در پایگاه داده قرار دارند. پس از تهیه نسخه پشتیبان، یک بار فایل فشرده و امکان بازگردانی دیتابیس را بررسی کنید.

    • از کل فایل‌های سایت، به‌خصوص wp-content، نسخه پشتیبان بگیرید.
    • از پایگاه داده با ابزارهایی مانند phpMyAdmin یا سیستم بکاپ هاست خروجی تهیه کنید.
    • فایل بکاپ را روی همان هاست نگه ندارید و یک نسخه جداگانه دانلود کنید.
    • اگر سایت فروشگاهی است، زمان کم‌ترافیک را برای تغییر PHP انتخاب کنید.

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

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

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

  غیرفعال کردن ذخیره آدرس آی پی در نظرات وردپرس

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

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

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

رفع خطا از طریق پنل هاست

تغییر نسخه در cPanel

در بیشتر سرویس‌های cPanel، گزینه‌ای مانند MultiPHP Manager یا Select PHP Version وجود دارد. دامنه موردنظر را انتخاب کنید، نسخه مناسب را مشخص کرده و تغییرات را ذخیره کنید. نام گزینه‌ها ممکن است بر اساس تنظیمات شرکت هاستینگ متفاوت باشد.

پس از تغییر، چند دقیقه صبر کنید و سایت، پیشخوان، فرم‌ها و صفحات مهم را تست کنید. اگر صفحه سفید، خطای ۵۰۰ یا پیام «There has been a critical error» مشاهده شد، فوراً لاگ خطا را بررسی کنید و در صورت نیاز به نسخه قبلی برگردید.

تغییر نسخه در DirectAdmin

در DirectAdmin معمولاً نسخه PHP از بخش Domain Setup، PHP Version Selector یا تنظیمات دامنه انتخاب می‌شود. اگر گزینه‌ای برای انتخاب نسخه مشاهده نمی‌کنید، احتمالاً این قابلیت برای حساب شما فعال نشده است و باید از پشتیبانی درخواست کنید.

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

درخواست دقیق از پشتیبانی هاست

به جای ارسال پیام کلی مانند «PHP آپدیت نمی‌شود»، اطلاعات زیر را برای پشتیبانی بفرستید:

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

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

بررسی وردپرس، قالب و افزونه‌ها

تشخیص افزونه ناسازگار

اگر بعد از تغییر PHP سایت از دسترس خارج شد، ابتدا افزونه‌ها را موقتاً غیرفعال کنید. اگر به پیشخوان دسترسی ندارید، می‌توانید از File Manager یا FTP نام پوشه plugins را در مسیر wp-content تغییر دهید؛ برای مثال نام آن را به plugins-disabled تغییر دهید. سپس سایت را بررسی کنید.

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

بررسی قالب و فایل functions.php

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

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

افزایش حافظه PHP

گاهی خطایی که به‌صورت «Allowed memory size exhausted» نمایش داده می‌شود، به کمبود حافظه PHP مربوط است، نه خود فرایند ارتقا. اگر هاست اجازه دهد، مقدار memory_limit را افزایش دهید؛ اما افزایش بی‌دلیل این مقدار، مشکل کدنویسی یا افزونه سنگین را پنهان می‌کند.

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

حل خطاهای رایج بعد از به‌روزرسانی

پیام یا نشانه خطاعلت احتمالیراهکار پیشنهادی
صفحه سفیدخطای Fatal در قالب یا افزونهفعال‌سازی WP_DEBUG در محیط آزمایشی و بررسی لاگ
خطای ۵۰۰ناسازگاری کد یا تنظیمات سروربررسی error_log و غیرفعال کردن افزونه‌ها
عدم اتصال به دیتابیسمشکل تنظیمات یا سرویس پایگاه دادهبررسی فایل wp-config.php و وضعیت سرویس هاست
کار نکردن فرم‌هاناسازگاری افزونه فرم یا کتابخانه cURLبه‌روزرسانی افزونه و بررسی افزونه‌های PHP
خطای کمبود حافظهmemory_limit پایین یا افزونه سنگینافزایش کنترل‌شده حافظه و تحلیل مصرف منابع

فعال کردن حالت دیباگ به شکل ایمن

برای شناسایی خطا می‌توان در فایل wp-config.php حالت دیباگ را فعال کرد، اما نمایش خطا روی سایت اصلی توصیه نمی‌شود؛ زیرا ممکن است مسیر فایل‌ها و اطلاعات حساس را به بازدیدکننده نشان دهد. تنظیمات بهتر برای سایت زنده، ثبت خطا در فایل و مخفی کردن نمایش آن است.

define('WP_DEBUG', true);

define('WP_DEBUG_LOG', true);

define('WP_DEBUG_DISPLAY', false);

پس از بررسی، خطاهای ثبت‌شده را از مسیر wp-content/debug.log مشاهده کنید و بعد از پایان کار، دیباگ را غیرفعال کنید. فایل لاگ را نیز در صورت وجود اطلاعات حساس پاک‌سازی کنید.

پاک کردن کش

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

بازگشت امن به نسخه قبلی PHP

چه زمانی باید بازگردیم؟

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

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

آماده‌سازی برای تلاش دوباره

پس از بازگشت موقت، این موارد را انجام دهید:

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

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

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

نسخه جدید یا نسخه پایدار؟

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

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

مزایا و معایب ارتقای PHP

مزایا:

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

معایب و ریسک‌ها:

    • از کار افتادن افزونه‌ها یا کدهای قدیمی
    • نیاز به بررسی قالب‌های سفارشی
    • احتمال ایجاد خطای موقت در سایت‌های بدون محیط تست
    • وابستگی به پشتیبانی هاست برای تغییر یا بازگردانی نسخه

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

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

چرا گزینه تغییر نسخه PHP در هاست من دیده نمی‌شود؟

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

آیا ارتقای PHP باعث حذف اطلاعات سایت می‌شود؟

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

اگر بعد از تغییر PHP وردپرس بالا نیامد چه کاری انجام دهیم؟

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

آیا می‌توان با فایل htaccess نسخه PHP را تغییر داد؟

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

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

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

آیا افزایش memory_limit خطای PHP را حل می‌کند؟

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

جمع‌بندی رفع خطای به‌روزرسانی PHP

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

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

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

امتیاز دادن

نظرات با ارزش کاربران

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

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

فهرست مطالب