ตรวจสอบ module ของ php ใน host ที่เราใช้งาน phpinfo()

ตรวจสอบ module ของ php ใน host ที่เราใช้งาน phpinfo()

ใช้ function phpinfo() เพื่อตรวจสอบ hosting ที่เราใช้งานว่ามี หรือไม่มี function ใดที่เราต้องการใช้บ้าง

php นั้นนับว่าเป็นภาษาที่หลายท่านนิยมนำมาใช้ในการเขียนเว็บกันมากนะครับ แต่หลายคนอาจจะมองว่ามันเป็นเรื่องยากที่จะเขียนภาษา ซึ่งส่วนตัวของผมเอง หากว่าตอนนั้นผมไม่ได้เริ่มต้นจากการศึกษาภาษา C และ ASP และการเขียนเว็บ ผมก็ว่าภาษา PHP มันก็ยากนั่นล่ะครับ (แล้วจะพูดทำไมนี่ หุๆๆ)

เอาเป็นว่าวันนี้จะไม่ได้มาพูดถึงเรื่องภาษา PHP มันยากหรือง่าย แต่ที่จะพูดก็คือ module ที่มีอยู่ในภาษา php นั่นเอง

อาจจะ งง ว่า module คืออะไร module ก็คือส่วนเสริมที่เรานั้นเพิ่มเข้ามา เพื่อให้ PHP ทำงานได้บางอย่างตามที่เราต้องการ เช่น GD2 ที่มี function ที่ใช้ในการย่อรูป (แบบให้ได้สัดส่วน) เพราะว่าหากเราไม่มี GD เราก็จะต้อง กำหนดค่าของรูปนั้นๆอย่างตายตัว ซึ่งนั่นจะทำให้ได้รูปที่บิดเบี้ยว หากขนาดของรูปที่ใส่เข้าไปนั้นแตกต่างกันนั่นเอง

พูดถึง function ก็เลยขออธิบายสักหน่อย ... function ในภาษา PHP ก็คือ กลุ่มคำสั่ง ที่ทางผู้พัฒนาเค้าได้เขียนไว้เพื่อให้เราเอาไปใช้งานนั่นเอง อย่างเช่น function htmlspecialchars นี้นั้น หากหลายคนที่เคยเขียนส่วนการเก็บข้อมูลเพื่อแสดงผล คงน่าจะรู้จักกันดี เพราะมันคือ function ที่ใช้ในการแปลง อักขระที่ใช้ใน HTML เป็นอักขระธรรมดานั่นเอง (เพื่อกันการใส่โค้ด HTML ในช่องป้อนข้อมูลแล้วเรียกมาแสดงผลแล้วจะทำให้เกิดความผิดพลาดที่หน้าเว็บ) นั่นก็คือ function นึงที่เรานั้นเรียกมาใช้ได้ โดยที่เราไม่ต้องเขียนขึ้นมาเอง

แต่!!! ไม่ใช่ ทุก hosting จะมี ทุกๆ module เพราะว่า ปัจจุบัน module ของภาษา PHP ผมเชื่อว่าน่าจะหลักร้อยแล้ว ซึ่งหากการที่ hosting บรรจุ module เข้าไปเยอะๆก็จะทำให้เกิดการช้าในการประมวลผลนั่นเอง เนื่องจากแต่ละ module ก็ต้องใช้ทรัพยากรทั้งนั้น

แต่ก็อีกเช่นกัน hosting ส่วนใหญ่ มักจะไม่มี หลายๆ module ที่สำคัญๆ ซึ่งหลายครั้งทำให้สคริปต่างๆทำงานได้อย่างไม่ปรกติ เช่น หากไม่มี GD2 รูปที่ถูกสั่ง resize จะไม่แสดงผลเป็นต้น

และสิ่งที่จะพูดจริงๆของบทความนี้ก็คือ (อาว... ที่อ่านมาตั้งนานนี่คืออะไรนี่...) การเช็ค module และตัวแปรต่างๆของ php ใน server ที่เรากำลังใช้งานอยู่

ซึ่งการเช็คนั้น มีโค้ดแค่ 3 บรรทัดคือ

<?php phpinfo(); ?>

ขอให้ลองสร้างไฟล์ ชื่ออะไรก็ได้ที่มีนามสกุล .php ขึ้นมา แล้วเอาโค้ดนี้ไปใส่ แล้วลองรันดูครับ.... จะเจอหน้าตาประมาณนี้

phpinfo()

เป็นอันว่าถูกต้องแล้ว และหากมีเวลา ลองเปิด manual ของสคริปต่างๆขึ้นมาดู แล้วถ้าเป็น สคริปที่ดีๆนั้นๆเค้าจะเขียนไว้ว่า รันได้ในระบบไหนบ้าง และต้องการ function ไหนบ้างจึงจะทำงานได้อย่างเป็นปรกติ

ขอให้สนุกกับการดูหน้าแห่งความลับนะครับ อิๆๆๆ

ออ บาง hosting เค้าก็ไม่เปิดให้ดูนะครับ อันนี้ไม่มีวิธีการอื่นใดนอกจากการถามแอดมินของที่นั่นโดยตรงครับ ว่า module ที่เราต้องการใช้นั้นมีหรือไม่

[PRINT VERSION] เขียน: 2007-07-29 07:00:00 แก้ไข : 2010-04-16 23:26:17 อ่าน : 8933
tag :

Comment

Comment
BeYourCyber - 28/07/2007 23:00:00 -
ร่วมพูดคุยในหัวข้อของบทความ ตรวจสอบ module ของ php ใน host ที่เราใช้งาน phpinfo()
<p>ใช้ function phpinfo() เพื่อตรวจสอบ hosting ที่เราใช้งานว่ามี หรือไม่มี function ใดที่เราต้องการใช้บ้าง</p>
0866455567 - 30/06/2010 10:00:36 - 113.53.166.77
ช่วยแนะนำด้วยครับ ตอนนี้ Server ลง appserv 2.4.7 php version 4.4.4 พอติดตั้ง joomla เกิดปัญหาเรื่อง GD Library ไม่ Support จึงอยากจะลง Appserv เวอร์ชั่นใหม่ล่าสุด ต้องทำอย่างไรกับ server บ้างครับ เพราะกลัวมีปัญหากับ Database เดิมที่มีอยู่แล้ว

ขอบพระคุณมากครับ
0866455567 - 30/06/2010 10:04:32 - 113.53.166.77
อยากให้แนะนำวิธีติดตั้ง Appserv บน server จริงด้วยนะครับ ตอนนี้ server เป็น windows server 2003

ขอบพระคุณมากครับ
BeYourCyber - 30/06/2010 10:15:17 - 123.242.139.217
อ่าครับ ต้องขออภัยครับ เพราะว่าส่วนตัวผมเองเลิกใช้ Appserv มานานแล้วครับผม

ปัจจุบันผมใช้ wamp อยู่ครับ อาจจะไม่สามารถตอบรายละเอียดในส่วนของ Appserv ครับ
ส่วนเรื่อง GD library ผมเข้าใจว่าคุณเอามาติดตั้งเพิ่มได้เลยนะครับ ไม่จำเป็นต้อง upgrade appserv ครับ เพราะว่า GD library เป็นตัว add on ของ php อยู่แล้วครับจึงเอามาเพิ่มทีหลังได้

แต่ว่าการติดตั้งอย่างไรต้องดูจาก คู่มือของ GD library อีกทีครับ

สำหรับผม ใช้ wamp สามารถเปิด หรือ ปิด GD library ได้แค่ 3 คลิกครับ

ส่วนเรื่องการติดตั้งบน server จริง ก็ใกล้เคียงกับในเครื่องตัวเอง แต่จะต้องตั้งค่า สิทธ์ เพิ่มเติม และปรับเรื่อง security ด้วย ซึ่งเรื่องพวกนี้ผมก็ว่า wamp ทำได้ง่ายกว่าอีก เพราะว่าทำแค่สองคลิกเท่านั้นเอง (put online/ put offline)