Joomla vs PHP 7 issue

Enviroment
Joomla 3.0.3 + PHP 5.4 is working fine

Joomla 3.0.3 + PHP 5.6 is working fine

After upgrade PHP to PHP 7  error appears.

PHP Notice: Array to string conversion in C:\inetpub\wwwroot\Joomla\libraries\joomla\registry\registry.php on line 354 PHP Notice: Array to string conversion in C:\inetpub\wwwroot\Joomla\libraries\joomla\registry\registry.php on line 354 PHP Warning: Declaration of JCacheControllerPage::store($wrkarounds = true) should be compatible with JCacheController::store($data, $id, $group = NULL) in C:\inetpub\wwwroot\Joomla\libraries\joomla\cache\controller\page.php on line 196 PHP Notice: Array to string conversion in C:\inetpub\wwwroot\Joomla\libraries\joomla\registry\registry.php on line 354 PHP Notice: Array to string conversion in C:\inetpub\wwwroot\Joomla\libraries\joomla\registry\registry.php on line 354 PHP Notice: Array to string conversion in C:\inetpub\wwwroot\Joomla\libraries\joomla\registry\registry.php on line 354 PHP Notice: Array to string conversion in C:\inetpub\wwwroot\Joomla\libraries\joomla\registry\registry.php on line 354 PHP Notice: Only variables should be assigned by reference in C:\inetpub\wwwroot\Joomla\templates\j51_oxygen\php\variables.php on line 8 PHP Notice: Only variables should be assigned by reference in C:\inetpub\wwwroot\Joomla\templates\j51_oxygen\php\variables.php on line 9 PHP Notice: Array to string conversion in C:\inetpub\wwwroot\Joomla\libraries\legacy\menu\menu.php on line 266 PHP Notice: Undefined property: stdClass::$Array in C:\inetpub\wwwroot\Joomla\libraries\legacy\menu\menu.php on line 266 PHP Notice: Array to string conversion in C:\inetpub\wwwroot\Joomla\libraries\legacy\menu\menu.php on line 266 PHP Notice: Undefined property: stdClass::$Array in C:\inetpub\wwwroot\Joomla\libraries\legacy\menu\menu.php on line 266 PHP Notice: Array to string conversion in C:\inetpub\wwwroot\Joomla\libraries\legacy\menu\menu.php on line 266 PHP Notice: Undefined property: stdClass::$Array in C:\inetpub\wwwroot\Joomla\libraries\legacy\menu\menu.php on line 266 PHP Notice: Array to string conversion in C:\inetpub\wwwroot\Joomla\libraries\legacy\menu\menu.php on line 266 PHP Notice: Undefined property: stdClass::$Array in C:\inetpub\wwwroot\Joomla\libraries\legacy\menu\menu.php on line 266 PHP Notice: Array to string conversion in C:\inetpub\wwwroot\Joomla\libraries\legacy\menu\menu.php on line 266 PHP Notice: Undefined property: stdClass::$Array in C:\inetpub\wwwroot\Joomla\libraries\legacy\menu\menu.php on line 266 PHP Notice: Array to string conversion in C:\inetpub\wwwroot\Joomla\libraries\legacy\menu\menu.php on line 266 PHP Notice: Undefined

 

Directory นี้ไม่มีใน Joomla แล้วมันฟ้อง error แบบนี้ได้ไง???

PHP Notice: Array to string conversion in C:\inetpub\wwwroot\Joomla\libraries\joomla\registry\registry.php on line 354 PHP

 

Forums from https://issues.joomla.org/tracker/joomla-cms/7571

image

 

image

 

เหตุการณ์ เรา ใช้ Joomla 3.0.3 แล้วจะ upgrade PHP 7 แล้วได้ Error  ในขณะที่ forum บอกว่า Joomla ต้อง > 3.4  ขึ้นไปจึงจะ compatible กับ PHP 7

แสดงว่า เราต้องทำการ Migration Joomla 3.0.3  –> ไปให้ได้ถึง Joomla 3.4 หรือ 3.5

https://docs.joomla.org/What_version_of_Joomla!_should_you_use%3F

 

image

image

Joomla Upgrade (One Click)
https://docs.joomla.org/J3.x:Updating_from_an_existing_version

image

ตอนนี้เป็น Version  ===> Joomla! 3.0.3 Stable

image

ถ้าระบบพร้อมให้ upgrade อยู่ที่หน้า administrator ระบบจะแสดงข้อความแบบนี้..

image

image

image

เริ่มจาก

3.0 –> 3.1
3.1 –> 3.2
3.2 –> 3.3
3.3 –> 3.4
3.4 –> 3.5
3.5 –> 3.6

หรือ
Manual Upgrade จาก 3.0 ไป 3.4 เลย
http://www.aldoapp.com/tutorials/29-how-to-manually-upgrade-joomla-2-5-3-0-3-1-3-2-or-3-3-to-joomla-3-4.html

ใช้แบบ Manual จาก 3.0 ไป 3.4 เร็วดี ไม่เสียเวลามา upgrade ทีละ step

ตอนนีได้ Joomla 3.4.4 มาแล้ว จะลอง upgrade ผ่านระบบ ดู ว่าจะไป 3.6.5 ได้ไหม?

image

image

 

Work!!!!

image

*** เวลา upgrade แล้วติดปัญหามี Error หรือ COmponent ไม่มา

ให้ดู

image

1. Update Module/Plug-in
2. Discover Component ที่หายไป
3. Fix Database กรณี Database not up to date

 

** Migrate จาก Joomla 3.0 –> จนได้ 3.6.5  ทำงานได้ดีกับ PHP 5.4  พอทดสอบย้าย host ไว้ไปที่ PHP7

PHP Warning:  session_write_close(): Failed to write session data (user). Please verify that the current setting of session.save_path is correct () in C:\inetpub\wwwroot\MIS\libraries\joomla\session\handler\native.php on line 193

ดูเหมือนทุกคนจะบอกว่าเป็น bug ให้ PHP 7 ให้หัดไปใช้ PHP 5.6 แทน
Note: ถ้า new install Joomla > 3.6 กับ PHP 7 มันก็ทำงานได้ดีนะ

Facebook Comments

Leave a Reply

Scroll to top