ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
ส่งอีเมล์ยืนยันการใช้งาน?

» Enter Pinkkeyhost Website «

เว็บโฮสติ้ง Pinkkeyhost :: Support Center
Pinkkeyhost
หน้า: 1
  พิมพ์  
ผู้เขียน หัวข้อ: ข้อแตกต่างระหว่าง PHP แบบ CGI กับแบบ CLI  (อ่าน 11944 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
PinkkeyHost
Online Supported
Administrator
Sr. Member
*****
ออฟไลน์ ออฟไลน์

กระทู้: 363


« เมื่อ: 05 พ.ย. 2006 21:22 »

เวบ Linux โดยทั่วไปจะใช้ PHP แบบ CLI (Apache Handler / mod_php4)
สำหรับทาง Pinkkeyhost ใช้ PHP แบบ CGI (suPHP / FastCGI)

ดังนั้นจึงขอแสดงข้อแตกต่างระหว่าง PHP แบบ CGI กับ CLI เพื่อประกอบการใช้งาน

1. Script ทำงานในสิทธิ์ของ user  CLI=Apache / CGI=User
ดังนั้นในการเปิดอ่านและเขียนไฟล์ต่างๆจึงใช้ permission ที่ต่างกัน
CLI - จะใช้ permission ในส่วนของ Group/Other (ที่พบเห็นบ่อยๆว่าตอนติดตั้ง script ต่างๆต้องเข้าไปเปลี่ยน file permission ให้เป็น 777/666)
CGI - จะใช้ permission ในส่วนของ Owner (ซึ่งมาตรฐาน Owner จะเป็น 7/6 อยู่แล้ว จึงไม่จำเป็นต้องใช้ 777/666 ใช้แค่ 755/644 ก็พอ)

2. ไฟล์ต่างๆที่สร้างขึ้นใหม่จาก PHP จะมี Owner เป็น CLI=Apache / CGI=User
CLI - ดังนั้นไฟล์ต่างๆที่ถูกสร้างขึ้นจาก php จะต้องเขียน code เพื่อเปลี่ยน permission ให้เป็น 777/666 เพื่อให้เราสามารถแก้ไข/ลบไฟล์นั้นได้ภายหลัง
CGI - ไฟล์ต่างๆที่ถูกสร้างขึ้นจาก php จะมี Owner เป็นของเราเองเราสามารถแก้ไข/ลบไฟล์นั้นได้ทันที

3. ปัญหาจากการสร้าง Folder ด้วย PHP ในระดับที่ 2
CLI - เนื่องจาก File Owner เป็น Apache ดังนั้นเราจะเสียสิทธิ์ในการจัดการไฟล์ใน Folder ระดับที่ 2 เนื่องจาก Owner ของ Folder ก่อนหน้าไม่ใช่ของเราแต่เป็น Apache
CGI - File Owner เป็นของเราเอง จะสร้าง Folder ด้วย PHP กี่ชั้นก็ไม่มีปัญหา

4. ปรับตั้งค่า PHP ผ่าน .htaccess
CLI - สามารถควบคุมค่าของ PHP ผ่าน .htaccess ได้ หากไม่มีการบังคับค่าไว้ใน httpd.conf
เช่นหากใน httpd.conf ไม่ได้บังคับ php_admin_flag register_globals on|off ไว้ก็จะสามารถใส่ php_flag register_globals on|off ใน .htaccess ได้
CGI - ไม่สามารถควบคุมค่าของ PHP ผ่าน .htaccess หรือ httpd.conf ได้ ต้องกำหนดผ่าน php.ini เท่านั้น เช่น php_flag ต่างๆ, php_value ต่างๆ เช่น register_globals, safe_mode, open_basedir, ... แต่ .htaccess ยังสามารถควบคุมค่าอื่นๆได้ตามปกติเช่น mod_rewrite, password_protect_dir, ...

5. ความเร็วและ Load
CLI - ใช้งาน CPU ตามปกติ
CGI - ใช้งาน CPU สูงกว่าแบบ CLI 5-15%
ส่วนความเร็วในการทำงานเท่าๆกัน

ทั้งนี้ทาง Pinkkeyhost สามารถปรับเลือกการใช้งาน PHP ในโหมด CGI/CLI ให้กับแต่ละ Domain ได้เช่นกัน
หากประสงค์จะใช้งานในโหมดปกติแบบ CLI สามารถแจ้งความประสงค์มาได้หลังจากเปิด Account เป็นที่เรียบร้อยแล้วครับ
บันทึกการเข้า

หน้า: 1
  พิมพ์  
 
กระโดดไป:  

PinkkeyHost.com - บริการ เว็บโฮสติ้ง จดโดเมน Co-Location & Dedicated Server

reduce website downtime
Powered by SMF 1.1.16 | SMF © 2006-2007, Simple Machines | Thai language by ThaiSMF
XHTML | CSS | Aero79 design by Bloc
หน้านี้ถูกสร้างขึ้นภายในเวลา 0.051 วินาที กับ 20 คำสั่ง