مشکل عجیب جوملا .خود به خود یا با ارتقاء php

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

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

تنها تفاوت این بود که هاستینگ ورژن 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 رو حتما فعال کنید

 

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

یا حق

 

 

 

 

 

  • بازدیدامروز 42
  • |
  • روزگذشته 228
  • |
  • هفته جاری 614
  • |
  • ماه جاری 1654
  • |
  • بازدید کل 345580