สำหรับการใช้งาน PHP โดยเฉพาะสาย Developer หรือ System Admin ที่ต้องจัดการ Server ( เช่น Nginx ) การรู้คำสั่งผ่าน CLI ( Command Line Interface ) จะช่วยให้ทำงานได้เร็วและตรวจสอบปัญหาได้แม่นยำขึ้นครับ นี่คือคำสั่ง PHP พื้นฐานและระดับสูงที่ควรมีติดตัวไว้ครับ
คำสั่งตรวจสอบพื้นฐาน ( Checking & Status )
ใช้สำหรับเช็กเวอร์ชันและโมดูลที่ติดตั้งอยู่ในเครื่อง
php -v: ตรวจสอบเวอร์ชันของ PHP ที่ใช้อยู่ปัจจุบันphp -m: แสดงรายชื่อ Extension / Module ทั้งหมดที่ติดตั้งไว้ ( เช่น mysqli, curl, openssl )php -i: แสดงข้อมูลphpinfo()ทั้งหมดในรูปแบบ Text ( มักใช้คู่กับgrepเพื่อหาค่าคอนฟิกเฉพาะจุด เช่นphp -i | grep memory_limit)
การรันสคริปต์และทดสอบโค้ด ( Execution )
ไม่ต้องเปิด Browser ก็รันโค้ดได้
php file_name.php: รันไฟล์สคริปต์ PHP ผ่าน Terminal โดยตรงphp -r 'code;': รันโค้ด PHP สั้น ๆ โดยไม่ต้องสร้างไฟล์ เช่น:php -r 'echo "Today is " . date("Y-m-d") . "\n";'php -a: เข้าสู่โหมด Interactive Shell เอาไว้ลองเขียนโค้ดสั้น ๆ แล้วกด Enter เพื่อดูผลลัพธ์ทันทีphp -S localhost:8000: เปิด Built-in Web Server จำลองเครื่องตัวเองเป็น Server ทันทีโดยไม่ต้องลง Nginx/Apache ( เหมาะสำหรับงาน Dev ด่วน ๆ )
การตรวจสอบความถูกต้อง ( Linting & Reflection )
ช่วยหาจุดผิดในโค้ดก่อนนำไปรันจริง
php -l file_name.php: ( Lint ) ตรวจสอบ Syntax ของไฟล์ว่าเขียนผิดตรงไหนหรือไม่ โดยที่ไม่รันโค้ดจริงphp --rf function_name: ดูรายละเอียดของ Function นั้น ๆ ( เช่น พารามิเตอร์ที่ต้องการ )php --rc class_name: ดูรายละเอียดของ Class นั้น ๆ
คำสั่งจัดการคอนฟิก ( Configuration Management )
สำคัญมากเวลาเราแก้ไขไฟล์ php.ini แล้วอยากรู้ว่ามันมีผลหรือยัง
php --ini: แสดงเส้นทาง ( Path ) ของไฟล์คอนฟิกที่ PHP ใช้งานอยู่ ทั้งไฟล์หลักและไฟล์แยกในconf.d
Tip: ก่อนจะแก้ไขไฟล์หรือลง Nginx ใหม่ การรู้ตำแหน่งไฟล์เหล่านี้จะช่วยให้เรา Backup เฉพาะจุดที่สำคัญได้แม่นยำขึ้นครับ
คำสั่งแถม: เครื่องมือจัดการ Package ( Composer )
แม้ไม่ใช่คำสั่ง PHP โดยตรง แต่ขาดไม่ได้ในยุคนี้
composer install: ติดตั้ง Library ตามไฟล์composer.lockcomposer update: อัปเดต Library เป็นเวอร์ชันล่าสุด ( ตามที่ระบุในjson)composer dump-autoload: สั่งให้สร้างไฟล์ autoload ใหม่ ( ใช้บ่อยเวลาเพิ่ม Class ใหม่แล้วหาไม่เจอ )
ข้อควรระวัง
หากคุณมีการรัน PHP หลายเวอร์ชันในเครื่องเดียว ( เช่น 7.4 และ 8.2 ) การใช้คำสั่ง php เฉย ๆ อาจจะได้เวอร์ชันที่ไม่ตรงกับที่หน้าเว็บใช้ แนะนำให้ระบุเลขเวอร์ชันไปเลยในบางครั้ง เช่น php8.2 -m หรือ php7.4 -v เพื่อความชัวร์ครับ
อ่านเพิ่มเติม