ฟังก์ชัน php_sapi_name() - ใช้ตรวจสอบว่า PHP นั้นถูกเรียกใช้ผ่าน HTTP หรือ CLI

PHP Knowledge เป็น บอร์ดรวามความรู้ php เน้นบทความ แนวทางการเขียนโปรแกรม บันทึกกันลืม เพื่อให้สมาชิกได้เขียนความรู้ที่ตัวเองมีให้สมาชิกท่านอื่นๆ ได้ เข้ามาอ่าน และ ไว้อ่านเองกันลืมด้วย

Moderators: mindphp, ผู้ดูแลกระดาน

Patipat
PHP Super Hero Member
PHP Super Hero Member
Posts: 996
Joined: 10/06/2019 10:12 am

ฟังก์ชัน php_sapi_name() - ใช้ตรวจสอบว่า PHP นั้นถูกเรียกใช้ผ่าน HTTP หรือ CLI

Post by Patipat »

ในการตรวจสอบว่า PHP ที่เราเขียนโปรแกรมอยู่นี้ ทำงานผ่าน CLI(Command line interface) หรือว่า ทำงานกับ HTPP(Hypertext Transfer Protocol) ดังนั้นเรามารู้จักกับ CLI คือ Command line interface คือ รูปแบบการแสดงผลแบบ text mode โดยหน้าโปรแกรมจะรับ input เข้าไปทีละบรรทัดๆ แล้วหาความหมายของคำสั่งนั้นๆ เพื่อนำไปสั่งให้ระบบปฏิบัติการของเราทำงานตามคำสั่งที่เราได้เขียน และ HTPP ล่ะ คืออะไร Hypertext Transfer Protocol โปรโทคอลสื่อสารสำหรับการแลกเปลี่ยนสารสนเทศผ่านอินเทอร์เน็ต ในที่เราเห็นทั่วไปก็คือ เวิลไวเว็บ(www) จะใช้โปรโตคอล HTTP ซึ่งโปรโตคอลนี้ทำให้เซิร์ฟเวอร์ส่งข้อมูลมาให้บราวเซอร์ตามต้องการ และบราวเซอร์จะนำข้อมูลมาแสดงผลบนจอภาพได้อย่างถูกต้อง

ตัวอย่างนี้ตรวจสอบ cgi สตริงย่อยเนื่องจากอาจเป็น cgi-fcgi
CGI นี้เป็นตัวกลางคอยประสานงานระหว่าง server และ โปรแกรม gateway ก็จะเช็คว่าโปรแกรมนีทำงานบน CLI หรือไม่

Code: Select all

<?php
$sapi_type = php_sapi_name();
if (substr($sapi_type, 0, 3) == 'cgi') {
    echo "You are using CGI PHP\n";
} else {
    echo "You are not using CGI PHP\n";
}
?>
ผลลัพธ์ก็จะได้
Selection_999(152).png
Selection_999(152).png (6.89 KiB) Viewed 211 times
อ้างอิง :
1.https://feversecure.wordpress.com/2017/09/08/cli-%E0%B8%AB%E0%B8%A3%E0%B8%B7%E0%B8%AD-command-line-user-interface-%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3/
2.https://www.electrictoolbox.com/determine-php-run-via-http-or-cli/
3.https://allbx.ru/php/function/php-sapi-name/
Kor ma di kub. :)
  • Similar Topics
    Replies
    Views
    Last post

Return to “PHP Knowledge”

Who is online

Users browsing this forum: No registered users and 8 guests