| 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 เป็นที่เรียบร้อยแล้วครับ
 
 |