ช่วยด้วยคะ รีสโตร์ลงเว็บเซิร์ฟเวอร์จำลองในเครื่อง แล้ว Error

เริ่มโดย it191, 18 ธันวาคม 2013, 13:38:51

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

it191

 :wanwan006: แบ็คอัพเว็บไซต์จริงแต่รีสโตร์ลงเว็บเซิร์ฟเวอร์จำลองในเครื่องของตัวเอง ใช้ XAMPP จำลองเซิร์ฟเวอร์

ไฟล์ .jpa  + Kickstart.php ทำไปจนถึงขั้นตอน RUN THE INSTALL เสร็จเรียบร้อยแล้ว ลบไฟล์  installation เสร็จแล้ว

ก็เกิดปัญหา

Fatal error: Call to a member function get() on a non-object in C:\xampp\htdocs\weba\libraries\joomla\cache\storage\memcache.php on line 114

ไปดูที่ memcache.php  --->        $back = self::$_db->get($cache_id); 

line 111 - 115 เป็นแบบนี้คะ --> public function get($id, $group, $checkTime = true)
   {
      $cache_id = $this->_getCacheId($id, $group);
      $back = self::$_db->get($cache_id);
      return $back;

รบกวนผู้รู้ช่วยด้วยคะ งมมาหลายวันแล้ว โดยส่วนตัวไม่มีความารู้เรื่อง PHP เท่าไร่คะ

ขอบคุณทุกคนไว้ก่อนเลยนะคะ

  :wanwan011: :wanwan011:

chaitat

จาก error message พบว่าเว็บแอปปลิเคชั่นของท่านมีการใช้งาน memcache ซึ่งเป็นระบบการเก็บข้อมูลชั่วคราวไว้ใน RAM (ซึ่งจะอ่านเขียนได้เร็วกว่าการเก็บข้อมูลชั่วคราวใส่ไฟล์บนฮาร์ดดิสก์ แต่ก็เปลืองแรมกว่า) โดยทั่วไปการจะใช้ memcache ได้ ท่านต้องมี memcache server รันอยู่บนเครื่องคอมพิวเตอร์ของท่าน ส่วนทางเว็บแอปปลิเคชั่น ก็จะเขียนโค้ดให้ทำการใช้งาน memcache นั้น โดยใน configuration มักต้องกำหนดว่า memcache server ของท่านอยู่ที่ ip ไหน และ port ไหน

คาดเดาว่าทาง server ของท่านมี memcache server รันอยู่แล้ว แต่ที่คอมพิวเตอร์ของท่านอาจไม่มี

คาดเดาว่าท่านต้องติดตั้ง memcache server ที่เครื่องของท่าน และ ต้องรู้ว่ารันที่ port ไหน จากนั้นทำการกำหนด configuration ในเว็บแอปปลิเคชั่นของท่าน ให้ ip ของ memcache server เป็น 127.0.0.1 และ port เป็น port ที่ memcache ของท่าน listen อยู่

เล่ามาจากประสบการณ์การใช้ memcache ของผมนะครับ  :wanwan011:
PaySure.com เครื่องมือที่ทำให้การซื้อขายสินค้า, ซอฟต์แวร์, โดเมนเนม และอื่นๆ ออนไลน์ ไม่มีทางถูกโกง 100%

ผู้ขาย: ท่านไม่จำเป็นต้องสร้างความน่าเชื่อถืออีกต่อไป
ผู้ซื้อ: ท่านไม่ต้องลังเลที่จะซื้อสินค้าออนไลน์อีกต่อไป ไม่ถูกโกงแน่นอน 100%

it191

อ้างถึงจาก: chaitat ใน 18 ธันวาคม 2013, 15:23:20
จาก error message พบว่าเว็บแอปปลิเคชั่นของท่านมีการใช้งาน memcache ซึ่งเป็นระบบการเก็บข้อมูลชั่วคราวไว้ใน RAM (ซึ่งจะอ่านเขียนได้เร็วกว่าการเก็บข้อมูลชั่วคราวใส่ไฟล์บนฮาร์ดดิสก์ แต่ก็เปลืองแรมกว่า) โดยทั่วไปการจะใช้ memcache ได้ ท่านต้องมี memcache server รันอยู่บนเครื่องคอมพิวเตอร์ของท่าน ส่วนทางเว็บแอปปลิเคชั่น ก็จะเขียนโค้ดให้ทำการใช้งาน memcache นั้น โดยใน configuration มักต้องกำหนดว่า memcache server ของท่านอยู่ที่ ip ไหน และ port ไหน

คาดเดาว่าทาง server ของท่านมี memcache server รันอยู่แล้ว แต่ที่คอมพิวเตอร์ของท่านอาจไม่มี

คาดเดาว่าท่านต้องติดตั้ง memcache server ที่เครื่องของท่าน และ ต้องรู้ว่ารันที่ port ไหน จากนั้นทำการกำหนด configuration ในเว็บแอปปลิเคชั่นของท่าน ให้ ip ของ memcache server เป็น 127.0.0.1 และ port เป็น port ที่ memcache ของท่าน listen อยู่

เล่ามาจากประสบการณ์การใช้ memcache ของผมนะครับ  :wanwan011:

ขอบคุณมากๆ คะ ตอนนี้เข้าดูข้อมูลหลังบ้านได้ แต่ไม่สามารถทำการเปลี่ยนแปลงใดๆได้ เพราะติดไฟล์ Memcache.php ของ Joomla ตัวนี้ละคะ

:wanwan023: :wanwan023:


chaitat

ลอง disable memcache บนเครื่องท่านดุไหมครับ

configuration.php

หาบรรทัดประมาณนี้

public $caching = '2';
public $cache_handler = 'memcache';
public $memcache_server_host = 'localhost';
public $memcache_server_port = '11211';


หากเจอให้เปลี่ยนเป็น

public $caching = '0';public $cache_handler = 'file';

แต่อย่าไป copy file นี้ขึ้น live site นะครับ เพราะบน server ให้ใช้ memcache ดีกว่า ไวกว่า

:wanwan007:
PaySure.com เครื่องมือที่ทำให้การซื้อขายสินค้า, ซอฟต์แวร์, โดเมนเนม และอื่นๆ ออนไลน์ ไม่มีทางถูกโกง 100%

ผู้ขาย: ท่านไม่จำเป็นต้องสร้างความน่าเชื่อถืออีกต่อไป
ผู้ซื้อ: ท่านไม่ต้องลังเลที่จะซื้อสินค้าออนไลน์อีกต่อไป ไม่ถูกโกงแน่นอน 100%

it191

อ้างถึงจาก: chaitat ใน 18 ธันวาคม 2013, 15:50:18
ลอง disable memcache บนเครื่องท่านดุไหมครับ

configuration.php

หาบรรทัดประมาณนี้

public $caching = '2';
public $cache_handler = 'memcache';
public $memcache_server_host = 'localhost';
public $memcache_server_port = '11211';


หากเจอให้เปลี่ยนเป็น

public $caching = '0';public $cache_handler = 'file';

แต่อย่าไป copy file นี้ขึ้น live site นะครับ เพราะบน server ให้ใช้ memcache ดีกว่า ไวกว่า

:wanwan007:

ขอบคุณ คุณ chaitat มากคะ ตอนแรกก็คิดที่จะปิด memcache ตรง configuration.php คะ แต่มาเจอคำแนะนำก่อน เลยทำตาม

ตอนนี้หน้าบ้าน เข้าดู ผ่าน localhost ได้แล้วคะ

เพื่อนๆ ที่เจอปัญหานี้ ก็คงไ้ด้อีกวิธีแก้ไขและความรู้เหมือนกันนะคะ


:'( :'( :'(

chaitat

PaySure.com เครื่องมือที่ทำให้การซื้อขายสินค้า, ซอฟต์แวร์, โดเมนเนม และอื่นๆ ออนไลน์ ไม่มีทางถูกโกง 100%

ผู้ขาย: ท่านไม่จำเป็นต้องสร้างความน่าเชื่อถืออีกต่อไป
ผู้ซื้อ: ท่านไม่ต้องลังเลที่จะซื้อสินค้าออนไลน์อีกต่อไป ไม่ถูกโกงแน่นอน 100%

takaeshi

เข้ามาเก็บกระทู้ครับ  ยังไม่เคยเจอปัญหานี้ครับ