LevelUp! Studio » Apache https://blog.levelup.in.th Experience the new world. Fri, 26 May 2017 10:06:07 +0000 th hourly 1 http://wordpress.org/?v=3.8.1 รู้จักกับ config ที่น่าสนใจของ php ในไฟล์ php.ini https://blog.levelup.in.th/2011/11/26/study-configuration-for-php-in-phpini%e0%b8%a3%e0%b8%b9%e0%b9%89%e0%b8%88%e0%b8%b1%e0%b8%81%e0%b8%81%e0%b8%b1%e0%b8%9a-config-%e0%b8%97%e0%b8%b5%e0%b9%88%e0%b8%99%e0%b9%88%e0%b8%b2%e0%b8%aa%e0%b8%99/ https://blog.levelup.in.th/2011/11/26/study-configuration-for-php-in-phpini%e0%b8%a3%e0%b8%b9%e0%b9%89%e0%b8%88%e0%b8%b1%e0%b8%81%e0%b8%81%e0%b8%b1%e0%b8%9a-config-%e0%b8%97%e0%b8%b5%e0%b9%88%e0%b8%99%e0%b9%88%e0%b8%b2%e0%b8%aa%e0%b8%99/#comments Sat, 26 Nov 2011 08:36:32 +0000 http://blog.levelup.in.th/?p=1292 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 เหล่านี้ได้ตลอดเวลา วันนี้มีเท่านี้ละครับ :)

]]>
https://blog.levelup.in.th/2011/11/26/study-configuration-for-php-in-phpini%e0%b8%a3%e0%b8%b9%e0%b9%89%e0%b8%88%e0%b8%b1%e0%b8%81%e0%b8%81%e0%b8%b1%e0%b8%9a-config-%e0%b8%97%e0%b8%b5%e0%b9%88%e0%b8%99%e0%b9%88%e0%b8%b2%e0%b8%aa%e0%b8%99/feed/ 2
[Tips] เปิด Skype แล้ว Start Apache ไม่ได้? https://blog.levelup.in.th/2011/10/31/skype-kills-apache/ https://blog.levelup.in.th/2011/10/31/skype-kills-apache/#comments Mon, 31 Oct 2011 11:41:13 +0000 http://blog.levelup.in.th/?p=1263 เปิด Skype แล้วทำให้ Start Apache ไม่ได้

เปิด Skype แล้วทำให้ Start Apache ไม่ได้

เปิด Skype แล้ว Start Apache ไม่ได้ เป็นปัญหาที่แก้ไขได้ง่ายแต่คนส่วนมากมักคาดไม่ถึง เมื่อเราทำการเปิดโปรแกรม Skype มาก่อนการ Start Apache จะทำให้ Apache ไม่ทำงาน เนื่องจาก Skype มีการใช้พอร์ทสำรอง ซึ่งก็คือ 80 และ 433 ซึ่งทำให้ไปชนกับพอร์ทของ Apache โดยวิธีการแก้ง่ายๆก็คือทำการ Start Apache ก่อนที่จะที่จะเปิด Skype และมีอีกวิธีการแก้อย่างถาวรคือไปปิดพอร์ทสำรองของ Skype ซะ ตามนี้ครับ

เข้า Skype ไปที่ Tools -> Options...

เข้า Skype ไปที่ Tools -> Options...

ไปที่แท็บ Advanced -> Connection จากนั้นก็ทำการติ๊ก "Use port 80 and 433 as alternatives for incoming connections" ออกซะครับ

ไปที่แท็บ Advanced -> Connection จากนั้นก็ทำการติ๊ก "Use port 80 and 433 as alternatives for incoming connections" ออกซะครับ

ใช้งานพร้อมกันได้แล้ว :)

ใช้งานพร้อมกันได้แล้ว :)

]]>
https://blog.levelup.in.th/2011/10/31/skype-kills-apache/feed/ 0