Skip to content

Tag: php

บันทึกการติดตั้ง PHP-FPM ร่วมกับ Apache2

ได้ยินเสียงร่ำลือว่า PHP-FPM (FastCGI Process Manager) รับ load รับ concurrency ได้เยอะเพราะมีการจัดการ process ดีกว่า mod_php ทำให้ใช้ resource น้อยกว่า ฟีเจอร์อื่นๆ มีอะไรบ้างดูในลิงก์ต้นฉบับครับ

เครื่องที่ติดตั้งของผมเป็น Ubuntu ซอฟต์แวร์ที่ต้องการติดตั้งได้ด้วย APT เลยสบายหน่อย

[PHP] ใช้ regex แบบ negative lookahead ใน MongoDB query

syntax regex ใน PHP อ้างอิงตาม PCRE (Perl Compatible regular expression)  การ match ข้อความแบบ negative lookahead คือ match กับอักขระใดๆ ทั้งหมดยกเว้นตัวที่เรากำหนด งงใช่ไหม? คนอธิบายก็งง ดูตัวอย่างดีกว่า

สมมุติว่าผมมี regex เป็น t(?!s) และมี text “streets” ใน case นี้จะ match “t” ตัวแรก ถ้าเปลี่ยน regex เป็น (?!s)t จะ match กับ “t” ตัวที่ 2 เพราะ “t” ตัวที่ 2 ไม่ขึ้นต้นด้วย “s”

สรุปคือมันเอาไว้ match ข้อความจากคำถามที่ว่า “ต้องการข้อความ X ที่ไม่ขึ้นต้นด้วย Y” นั่นเอง

โจทย์ของผมคือต้องการ query ทวีตที่ไม่ขึ้นต้นด้วย RT (case-insensitive) จะได้เขียน query ได้ตามนี้

ในกรณีนี้เนื่องจาก match แบบ case-insensitive ต้องใส่ $options => ‘i’ ด้วย

อ้างอิง

Extend PHP session time

ค่า default ตัวแปร session ของ PHP จะมีอายุประมาณ 30 นาที ถ้าไม่มีการเรียกใช้งานเลยก็จะถูก garbage collector ทำลายทิ้งแต่สามารถ config  php.ini ให้มากกว่านี้ได้โดยแก้ตัวแปรชื่อ session.gc_maxlifetime (หน่วยเป็นวินาที) การแก้ php.ini บางครั้งไม่สะดวก ถ้าเป็น shared server ไม่ใช่ว่าทุกเว็บจะมีการใช้ session เป็นเวลานานแบบนี้ควรทำเป็นกรณีๆ ไป

PHP มี function ini_set() ที่อนุญาตให้ set options ของ PHP ได้ การเพิ่มอายุของ session ให้เพิ่มโค้ดข้างล่างนี้ก่อน function session_start() ทุกไฟล์ที่มีการใช้ session_start()

จากตัวอย่างเป็นการเพิ่มอายุตัวแปร session เป็น 7200 วินาทีหรือ 2 ชั่วโมง ที่สำคัญอีกอย่างต้องแก้ไดเรกทอรีเก็บ session ใหม่ด้วย ถ้าไม่กำหนด PHP จะใช้ค่า default ทำให้อายุของตัวแปร session มีค่าประมาณ 30 นาทีเหมือนเดิม