چند ماه پیش یکی از سایت هایی که دستم هست یک دفعه به هم ریخت ...
کلی کلنجار و دو سه روز وقت گرفت تا آخرش نفهمیدم چی شده درست شد.
تنها تفاوت این بود که هاستینگ ورژن 8 php رو اضافه کرده بود ولی هاست من تغییری نکرده بود و همون ورژن رو داشت. یعنی قاعدتا نباید به هم میریخت. امروز مجددا از کارفرمای محترم تماس داشتم برای همون مسئله ... واقعا برق از سرم پرید.... همش فکرم این بود که بی خیال شم و بشینم سایتو از اول روی جوملای جدید یا سی ام اس خودم بیارم بالا.
ولی وقت ندارم و هزینه ای هم نمیدهند. نزیک به 4 ساعت طول کشید تهش فهمیدم :
اول اینکه utf8 تو ورژن جدید mysql نیست. و سایت های ما که با این کدینگ بوده بعد از آپدیت سرور (mysql رو سرور)خود به خود میروند روی یک مد کانکشن نامشخص مثل utf32_ai_900 یا همچین چیزی .
باید توی phpmyadmin کل جداول رو از طریق operations تبدیل کنید به utfmb4_persian_ci این مهم ترین کاره ....
همچنین آدرس های فولدر tmp , cache , log رو درست کنید که به جای درستی بروند. و در آخر قبل از همه این کارها بهتره روی لوکالتون توی لارگون نسخه های 7.4 و 8 و 8.1 php رو بریزید داشته باشید. و توی لوکال تمام تست ها رو انجام بدهید.
از سایت بک آپ بگیرید و بعد تغییرات بالا رو اعمال کنید . ممکنه توی ورژن های بالای 8 یه سری مشکلات ریز هم باشه مثلا برای من تو یکی از پلاگین ها کد زیر رو :
if(version_compare(JVERSION,'3.0.0','1')) {
به این مجبور شدم تبدیل کنم
if(version_compare(JVERSION,'3.0.0','==')) {
کلا php ورژن بالا تر یه خورده سخت گیر تره
حواستون هم باشه اگر دارید تازه توی لاراگون نسخه 8 به بالا رو برای php میزارید توی php.ini
باید برید و اکستنشین mysqli رو حتما فعال کنید
اگر کارتون راه افتاد یه جوری اعلام کنید که تجربیات دیگر رو هم بنویسم. اگر بدونم کسی میخونه و استفاده میکنه تایپ کردنشو واقعا انجام میدم
یا حق