نسخه مناسب PHP باید هم پشتیبانی امنیتی داشته باشد و هم با کد سایت سازگار باشد.
اول نسخه آزمایشی
فهرست افزونهها و قالب را تهیه کنید و نسخههای سازگار را از مستندات رسمی آنها بررسی کنید. از فایلها و دیتابیس بکاپ بگیرید. تغییر را ابتدا روی یک کپی آزمایشی انجام دهید و صفحههای اصلی، فرمها، حساب کاربر و تسویهحساب را آزمایش کنید. پشتیبانی نسخه را در وبسایت رسمی PHP بررسی کنید.
کنترل خطا و بازگشت
پس از تغییر، گزارش خطا و مصرف منابع را بررسی کنید. نمایش خطا به بازدیدکننده را در محیط عمومی فعال نکنید. پیش از شروع، روش بازگشت به نسخه قبلی را مشخص کنید. بهروزرسانی PHP همیشه بهتنهایی کافی نیست و گاهی افزونه یا کد سفارشی هم نیاز به اصلاح دارد.
برای انتخاب یا تغییر زیرساخت، ابتدا وضعیت فعلی سایت را ثبت کنید. یک تغییر مشخص انجام دهید و سپس همان مسیرهای کاربری را دوباره آزمایش کنید. راهنماهای روناتا مبنای تصمیمگیری اولیه هستند و بررسی جزئیات هر سایت به داده واقعی نیاز دارد.
نسخه مناسب را با سازگاری انتخاب کنید
پشتیبانی امنیتی نسخه PHP را از جدول رسمی نسخههای پشتیبانیشده بررسی کنید. انتخاب نسخه صرفا بر اساس عدد بالاتر کافی نیست. قالب، درگاه پرداخت، افزونه ارسال، ابزار عضویت و کدهای سفارشی باید با نسخه مقصد سازگار باشند. تاریخ بررسی و نسخه دقیق نرمافزارها را ثبت کنید. سازگاری اعلامشده برای یک نسخه افزونه را به تمام نسخههای قدیمی همان افزونه تعمیم ندهید.
فهرست افزونهها، PHP extensions موردنیاز و تنظیمات مهم مانند memory_limit را پیش از تغییر نگه دارید. ممکن است نسخه جدید PHP در پنل تنظیماتی متفاوت با نسخه قبلی داشته باشد. تغییر handler یا تنظیم OPcache نیز میتواند روی رفتار برنامه اثر بگذارد. اگر تنها نسخه زبان عوض میشود، سایر تنظیمات را تا حد ممکن ثابت نگه دارید تا علت تغییر عملکرد مشخص باشد.
آزمون را شبیه کار روزانه سایت انجام دهید
یک کپی جدا از فایلها و دیتابیس آماده کنید. پرداخت، ارسال ایمیل، پیامک و webhook را در محیط جدا طوری تنظیم کنید که برای مشتری واقعی رویداد تکراری ایجاد نشود. فقط باز شدن صفحه اصلی را بررسی نکنید. ورود مدیر و مشتری، ذخیره محصول، آپلود تصویر، جستوجو، فیلتر و مسیر سبد خرید را آزمایش کنید. برای سایت آموزشی، دسترسی محتوای خریداریشده و تمدید عضویت هم مهم است.
نمایش خطا به بازدیدکننده را خاموش نگه دارید. گزارش خطا باید در مسیر حفاظتشده بررسی شود. هشدار deprecated با خطای fatal یکسان نیست، اما میتواند به کد نیازمند اصلاح اشاره کند. زمان و مسیر خطا را ثبت کنید و آن را با درخواست کاربر تطبیق دهید. حذف بیبرنامه افزونهها در سایت اصلی میتواند داده یا قابلیت موردنیاز کسبوکار را مختل کند.
| مسیر | معیار تایید |
|---|---|
| ورود | ساخت نشست و خروج بدون خطا |
| محتوا | ذخیره و نمایش درست متن و تصویر |
| فروشگاه | محاسبه مبلغ، تخفیف و ارسال |
| کار زمانبندیشده | اجرای وظیفه در موعد مقرر |
| گزارش خطا | نبود خطای متوقفکننده در مسیرهای اصلی |
تغییر اصلی را با پنجره بازگشت انجام دهید
زمان کمترافیک را انتخاب کنید. قبل از تغییر اصلی، بکاپ سازگار تهیه کنید و روش بازگشت به نسخه قبلی را مشخص کنید. اگر تغییر فقط PHP است، بازگردانی دیتابیس همیشه لازم نیست. بازگرداندن بیدلیل دیتابیس میتواند سفارشهای تازه را حذف کند. ابتدا نسخه زبان و تنظیمات مربوط را به وضعیت قبل برگردانید و علت ناسازگاری را در کپی سایت بررسی کنید.
پس از انتشار تغییر، وضعیت خطا، مصرف حافظه و وظایف پسزمینه را طی یک چرخه کاری واقعی دنبال کنید. نتیجه چند درخواست اول، وضعیت اجرای کارهای دورهای را ثابت نمیکند. راهنمای بازیابی بکاپ و روش انتقال بدون حذف داده کمک میکنند مرز تغییر و بازگشت روشن بماند.

