รู้จักกับ config ที่น่าสนใจของ php ในไฟล์ php.ini by

26
Nov
2

PHP มี config ต่างๆ มากมาย หากอยากรู้ว่า server ของเราเซ็ต config อะไรไว้อยู่บ้างให้ทดสอบด้วยการสั่ง phpinfo(); ในไฟล์ php ไฟล์ใดก็ได้ ระบบจะแสดง config ออกมาให้เห็นทั้งหมด รวมไปถึงหากต้องการทราบว่าไฟล์ php.ini อยู่ที่ไหนก็ดูได้จาก phpinfo(); เช่นกัน

ตัวอย่าง phpinfo()

ตัวอย่าง phpinfo()

สำหรับการ setup php ตั้งแต่เวอร์ชั่น 5.3 เป็นต้นไป จะมีไฟล์ php.ini-development เอาไว้เป็น sample ให้ copy เป็น php.ini ถ้าต้องการใช้ทดสอบโปรแกรมเฉยๆ และไฟล์ php.ini-production เอาไว้ใช้ใน server ที่ให้บริการกับลูกค้าจริง

โดย config ที่ผมจะแนะนำให้รู้จักมีดังนี้

  • display_errors – On/Off – หากเกิด error ขึ้นให้แสดงภายในหน้าเว็บหรือไม่ ถ้าเป็นเครื่อง development ควร On ไว้เพื่อ debug ถ้าเป็นเครื่อง production ควร Off เพื่อไม่ให้ผู้ใช้เห็น
  • error_reporting – E_ALL/0 – ใช้ปรับระดับ level การแสดง error ว่าจะให้แสดงมากน้อยเพียงใด หากต้องการปิด error ไม่ให้แสดงเลย ให้ใส่เป็น 0 (ศูนย์) ได้
  • short_open_tag – On/Off – ถ้าเปิด On ไว้จะสามารถใช้ <? ?> แทน <?php ?> และ <?=’Hello World’?> แทน <?php echo ‘Hello World’; ?> ได้ (feature นี้เพื่อความสะดวกของตัวโปรแกรมเมอร์นั่นเอง)
  • max_execution_time – int – กำหนดเป็นตัวเลขที่ต้องการให้ script สามารถรันได้นานที่สุด ทั่วไปกำหนดที่ 30 วินาทีซึ่งค่อนข้างเพียงพอต่อการใช้งานทั่วไป หากต้องมีการทำงานที่ใช้การประมวลผลเป็นเวลานานสามารถปรับเพิ่มขึ้นได้ แต่ไม่แนะนำให้ใส่เยอะเกินไป เพราะอาจทำให้ loop infinite ก่อนความเสียหายเป็นระยะเวลานาน โดยที่เราไม่รู้ตัวได้
  • max_input_time – int – ใช้กำหนดเวลามากที่สุดที่อนุญาตให้ php ประมวลผลข้อมูลที่ผู้ใช้ส่งเข้ามาได้เช่นการ submit form post
  • memory_limit – int – กำหนดขนาดของ memory ที่อนุญาตให้ script แต่ละตัวใช้ได้ ถ้ากำหนดสูงไปอาจเกิดปัญหา memory leak ได้
  • post_max_size – int – ขนาดข้อมูลใหญ่ที่สุดที่อนุญาตให้ผู้ใช้ส่งเข้ามาได้ ขนาดตรงนี้รวมทั้ง file ที่ upload และข้อมูลที่ submit ผ่าน form เข้ามา
  • auto_prepend_file – string – path ไฟล์ php ที่ต้องการทำงานก่อนการทำงาน php ทุกๆ ไฟล์ที่รันตามปกติ ตรงนี้มีประโยชน์มากต่อการกำหนดตัวแปร Global ที่ต้องการให้ใช้งานได้ทุกๆ ไฟล์ ซึ่งเราจะเขียนอย่างไรก็ได้ตามใจเราเลย
  • auto_append_file – string – เหมือน  auto_prepend_file  ต่างกันแค่เป็นการทำงานหลังไฟล์ php ทุกๆ ไฟล์
  • file_uploads – On/Off – อนุญาตให้ upload file ขึ้น server ได้หรือไม่
  • upload_max_filesize – int – ขนาดไฟล์สูงสุดที่ให้ upload ได้ (ต้อง <=  post_max_size )
  • max_file_uploads – int – จำนวนไฟล์ที่ upload ได้พร้อมกันทั้งหมด
  • extension – string – กำหนด extension ของ php ที่ต้องการใช้งาน
  • session.gc_maxlifetime – int – อายุของ session ของผู้ใช้แต่ละคนที่จะเก็บไว้สูงสุด หากมีการเรียกใช้ session

Config เหล่านี้นอกจากจะสามารถกำหนดได้ที่ php.ini แล้วเรายังสามารถกำหนดใน run-time ในไฟล์ php ไฟล์ใดก็ได้อีกด้วย เพียงเรียกใช้ function ini_set() ก็สามารถเปลี่ยนแปลงค่า config เหล่านี้ได้ตลอดเวลา วันนี้มีเท่านี้ละครับ :)

Enjoy this article?

Consider subscribing to our RSS feed!

2 ความเห็น

  1. gclub
    11:58 on October 17th, 2016

    ดีมากๆเลย ขอบคุณค่ะ

ใส่ความเห็น

RSS feed for comments on this post