ป้ายกำกับ: Tip

PHP: command ที่ควรรู้PHP: command ที่ควรรู้

สำหรับการใช้งาน 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.lock
  • composer update: อัปเดต Library เป็นเวอร์ชันล่าสุด ( ตามที่ระบุใน json )
  • composer dump-autoload: สั่งให้สร้างไฟล์ autoload ใหม่ ( ใช้บ่อยเวลาเพิ่ม Class ใหม่แล้วหาไม่เจอ )

ข้อควรระวัง

หากคุณมีการรัน PHP หลายเวอร์ชันในเครื่องเดียว ( เช่น 7.4 และ 8.2 ) การใช้คำสั่ง php เฉย ๆ อาจจะได้เวอร์ชันที่ไม่ตรงกับที่หน้าเว็บใช้ แนะนำให้ระบุเลขเวอร์ชันไปเลยในบางครั้ง เช่น php8.2 -m หรือ php7.4 -v เพื่อความชัวร์ครับ


อ่านเพิ่มเติม