12 กรกฎาคม 2566

แก้ปัญหา Codeigniter Vesion 3. ไม่ทำงาน บน php 8. (บางส่วน)

Codeigniter Vesion 3. ไม่ทำงานบน php 8.
แล้วระบบแจ้ง Error
Creation of dynamic property CI_URI::$config is deprecated
โดยแก้ไข Error บางส่วน ตามด้านล่างนี้
 
ใส่ #[\ReturnTypeWillChange] ไว้ที่ด้านบน
แก้ไขที่ ไฟล์ system/libaries/Session/drivers/Session_files_driver.php 
#[\ReturnTypeWillChange]
public function open($save_path, $name)
{
   ...
}

#[\ReturnTypeWillChange]
public function read($session_id)
{
  ...
}

#[\ReturnTypeWillChange]
public function write($session_id, $session_data)
{
  ...
}

#[\ReturnTypeWillChange]
public function close()
{
  ...
}

#[\ReturnTypeWillChange]
public function destroy($session_id)
{
  ...
}

#[\ReturnTypeWillChange]
public function gc($maxlifetime)
{
  ...
}
 
ใส่ #[\AllowDynamicProperties] ไว้ที่ด้านบน 
แก้ไขที่ ไฟล์ /system/core/URI.php
#[\AllowDynamicProperties]
class CI_URI { 
}
แก้ไขที่ ไฟล์ /system/core/Router.php
#[\AllowDynamicProperties]
class CI_Router {
แก้ไขที่ ไฟล์ /system/core/Loader.php
#[\AllowDynamicProperties]
class CI_Loader {
แก้ไขที่ ไฟล์ /system/core/Controller.php
#[\AllowDynamicProperties]
class CI_Controller {
}
แก้ไขที่ ไฟล์ /system/core/DB_driver.php

#[\AllowDynamicProperties]

abstract class CI_DB_driver { 

}