วิธีสลับเวอร์ชัน PHP สำหรับการใช้คำสั่ง Artisan (CLI)

คู่มือนี้จัดทำขึ้นเพื่อแนะนำวิธีการเลือกและสลับเวอร์ชัน PHP สำหรับการรันคำสั่งผ่าน SSH / Terminal เช่น คำสั่ง artisan ของ Laravel เพื่อให้สามารถเลือกใช้เวอร์ชัน PHP ให้ตรงตามความต้องการของแต่ละโปรเจกต์ได้อย่างอิสระ

วิธีตรวจสอบเวอร์ชัน PHP ที่พร้อมใช้งานบนโฮสติ้ง

พิมพ์คำสั่ง: ls /usr/local/php

จากนั้นกดปุ่ม Tab บนแป้นพิมพ์ เพื่อตรวจสอบเวอร์ชัน PHP ทั้งหมดที่พร้อมใช้งานบนโฮสติ้ง

โดยระบบจะแสดงรายการเป็น phpXX เช่น php74 หมายถึง PHP 7.4

เข้าไปยังไดเรกทอรีของโปรเจกต์ที่ต้องการก่อนเริ่มรันคำสั่ง

ตัวอย่าง cd laravel-test

การรันคำสั่ง artisan โดยเจาะจงเวอร์ชัน PHP ทำได้ 2 วิธีดังนี้:

วิธีที่ 1: การเรียกใช้งานผ่าน Full Path โดยตรง

ตรวจสอบเวอร์ชัน:

/usr/local/php/php74/bin/php -v
/usr/local/php/php80/bin/php -v
/usr/local/php/php81/bin/php -v
/usr/local/php/php82/bin/php -v
/usr/local/php/php83/bin/php -v
/usr/local/php/php84/bin/php -v
/usr/local/php/php85/bin/php -v

รันคำสั่ง Laravel Artisan (เช่น cache:clear):

/usr/local/php/php74/bin/php artisan cache:clear
/usr/local/php/php80/bin/php artisan cache:clear
/usr/local/php/php81/bin/php artisan cache:clear
/usr/local/php/php82/bin/php artisan cache:clear
/usr/local/php/php83/bin/php artisan cache:clear
/usr/local/php/php84/bin/php artisan cache:clear
/usr/local/php/php85/bin/php artisan cache:clear

วิธีที่ 2: การตั้งค่าคีย์ลัด (Alias) เพื่อเลือกเวอร์ชัน PHP

วิธีนี้จะทำให้เราพิมพ์คำว่า php83 หรือ php84 นำหน้าคำสั่งได้เลย:

เพิ่ม Alias เข้าระบบและโหลดค่าใหม่:

echo “alias php74=’/usr/local/php74/bin/php'” >> ~/.bashrc
echo “alias php80=’/usr/local/php80/bin/php'” >> ~/.bashrc
echo “alias php81=’/usr/local/php81/bin/php'” >> ~/.bashrc
echo “alias php82=’/usr/local/php82/bin/php'” >> ~/.bashrc
echo “alias php83=’/usr/local/php83/bin/php'” >> ~/.bashrc
echo “alias php84=’/usr/local/php84/bin/php'” >> ~/.bashrc
echo “alias php85=’/usr/local/php85/bin/php'” >> ~/.bashrc
source ~/.bashrc

ตัวอย่างการนำไปใช้รัน artisan:

php74 artisan cache:clear
php80 artisan cache:clear
php81 artisan cache:clear
php82 artisan cache:clear
php83 artisan cache:clear
php84 artisan cache:clear
php85 artisan cache:clear

หมายเหตุสำคัญ: การตั้งค่า Alias และ Environment Variable ใน Terminal จะมีผลเฉพาะการประมวลผลคำสั่งผ่าน Command-line (CLI), สคริปต์หลังบ้าน หรือ Cron Job เท่านั้น ไม่มีผลต่อการทำงานของหน้าเว็บไซต์ผ่านเบราว์เซอร์ ซึ่งหน้าเว็บจะทำงานตามเวอร์ชันที่กำหนดไว้ใน Control Panel ของโดเมน

Was this article helpful?