Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > การใช้ session ร่วมกัน ของเว็บไซต์ 2 เว็บ ซึ่งอยู่บน host เดียวกัน



 

การใช้ session ร่วมกัน ของเว็บไซต์ 2 เว็บ ซึ่งอยู่บน host เดียวกัน

 



Topic : 105541

Guest




พอดีมี web ระบบอยู่ 2 ระบบ แต่อยากให้ทั้ง 2 ระบบ login แค่หน้าเดียวกัน โดยใช้ session user ตัวเดียวกันทั้ง 2 ระบบ มีแนวทางกันไหมครับ แนะนำหน่อยครับ

ขอบคูณครับ



Tag : PHP, MySQL, Ms SQL Server 2005, Linux







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-02-06 15:58:16 By : big View : 2234 Reply : 6
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

หลักการเดียวกับ Load Balance ครับ คือจะต้องเปลี่ยน Session Handler ไปจัดเก็บไว้ที่เดียวกันครับ ใช้พวก memcache หรือจะเก็บ session ลงใน mysql database ก็ได้ครับ ลองดูพวก session_set_save_handler()

หลักการก็คือ ปกติแล้ว เราเขียน php และกำหนด session

Code (PHP)
<?php
session_start();


วิธีก็คือ ก่อนทีจะ start ก็ชี้ path ของ session ไปยังที่เดียวกัน เช่น

Code
<?php mysql_connect("localhost", "phpuser", "alm65z"); mysql_select_db("phpdb"); function sess_open($sess_path, $sess_name) { return true; } function sess_close() { return true; } function sess_read($sess_id) { $result = mysql_query("SELECT Data FROM sessions WHERE SessionID = '$sess_id';"); if (!mysql_num_rows($result)) { $CurrentTime = time(); mysql_query("INSERT INTO sessions (SessionID, DateTouched) VALUES ('$sess_id', $CurrentTime);"); return ''; } else { extract(mysql_fetch_array($result), EXTR_PREFIX_ALL, 'sess'); mysql_query("UPDATE sessions SET DateTouched = $CurrentTime WHERE SessionID = '$sess_id';"); return $sess_Data; } } function sess_write($sess_id, $data) { $CurrentTime = time(); mysql_query("UPDATE sessions SET Data = '$data', DateTouched = $CurrentTime WHERE SessionID = '$sess_id';"); return true; } function sess_destroy($sess_id) { mysql_query("DELETE FROM sessions WHERE SessionID = '$sess_id';"); return true; } function sess_gc($sess_maxlifetime) { $CurrentTime = time(); mysql_query("DELETE FROM sessions WHERE DateTouched + $sess_maxlifetime < $CurrentTime;"); return true; } session_set_save_handler("sess_open", "sess_close", "sess_read", "sess_write", "sess_destroy", "sess_gc"); session_start(); $_SESSION['foo'] = "bar"; $_SESSION['baz'] = "wombat"; ?>


ทั้ง 2 เว็บให้ใช้ Code นี้เดียวกัน ตัว Session ก็จะเหมือนกันทุกประการ

http://www.tuxradar.com/practicalphp/10/3/7







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-06 16:19:57 By : mr.win
 


 

No. 2

Guest


ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.win เมื่อวันที่ 2014-02-06 16:19:57
รายละเอียดของการตอบ ::
ขอบคุณมากครับ เป็นประโยชน์มากครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-06 16:47:07 By : big
 

 

No. 3

Guest


เป็นประโยช์มากๆ ข้อมูลล่าสุดด้วย แล้ว
1.การเก็บ session ใน memcached กับเก็บใน db แบบไหนดีกว่ากันหรอครับ
2.แชร์โฮสจะใช้ memcached หรือแบบ db ได้ไหมครับ ไม่มีทุนเช่า vps
3.ถ้าต่างโฮส จะใช้โคดด้านบนได้ไหม

ตอบหน่อยนะ คาใจมานาน ^___^ ขอบคุณล่วงหน้าเลยนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-16 16:41:29 By : phun
 


 

No. 4



โพสกระทู้ ( 1,569 )
บทความ ( 2 )



สถานะออฟไลน์
Twitter Facebook Blogger

ตอบความคิดเห็นที่ : 3 เขียนโดย : phun เมื่อวันที่ 2014-03-16 16:41:29
รายละเอียดของการตอบ ::
ใน memcached จะเร็วกว่า แต่ถ้าปิดเครื่องก็หายเลย แนะนำให้ใช้ควบคู่ครับ คือให้ memcached เป็นแนวหน้า คอยส่งไม้ต่อให้ mysql อีกที

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-16 19:47:42 By : itpcc
 


 

No. 5

Guest


โอ้โห....คุณ itpcc เดี๋ยวขอไปแปลก่อนนะคร้าบบบพี่น้อง ขอบคุณมากมาย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-16 22:51:45 By : phun
 


 

No. 6



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ใช้ผ่าน MySQL อาจจะช้าครับ แต่ไม่ถึงกับช้ามาก และไม่เหมาะสำหรับ User ที่มีจำนวนมากหลัก 1,000 ในคราว ๆ เดียวกัน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-17 06:15:36 By : mr.win
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : การใช้ session ร่วมกัน ของเว็บไซต์ 2 เว็บ ซึ่งอยู่บน host เดียวกัน
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่