Hệ điều hành · 25/09/2026

PowerShell đang chạy bản PHP nào? Kiểm tra lệnh trước khi sửa PATH

Bạn đã cài PHP mới nhưng terminal vẫn báo phiên bản cũ. Trước khi cài lại hoặc sửa PATH, hãy xác định PowerShell đang phân giải tên lệnh thành gì. Cùng một tên có thể là alias, function hoặc chương trình ở một thư mục khác với dự kiến.

PowerShell đang chạy bản PHP nào? Kiểm tra lệnh trước khi sửa PATH

Bạn đã cài PHP mới nhưng terminal vẫn báo phiên bản cũ. Trước khi cài lại hoặc sửa PATH, hãy xác định PowerShell đang phân giải tên lệnh thành gì. Cùng một tên có thể là alias, function hoặc chương trình ở một thư mục khác với dự kiến.

1. Xem lệnh được chọn và những ứng viên còn lại

Chạy trong chính terminal đang gặp vấn đề:

Get-Command php | Select-Object CommandType, Name, Source, Path
Get-Command php -All | Select-Object CommandType, Name, Source, Path

Get-Command cung cấp thông tin về lệnh; -All giúp xem các lệnh cùng tên mà phiên hiện tại tìm thấy. Một hàng loại Application kèm đường dẫn khác dự kiến là manh mối cụ thể hơn việc chỉ nhìn tên “php”.

Nếu không tìm thấy, chưa thể kết luận phần mềm chưa cài. Nó có thể nằm ngoài đường dẫn tìm kiếm của phiên hiện tại. Kiểm tra vị trí cài đặt đã xác minh thay vì tải một bản mới ngay lập tức.

2. Đừng chỉ nghĩ đến PATH

Tài liệu thứ tự ưu tiên của PowerShell giải thích rằng các alias, function và cmdlet đã được nạp có thể che tên chương trình bên ngoài. Vì vậy, thay đổi thứ tự thư mục trong PATH chưa chắc giải quyết xung đột tên.

Get-Command where -All
where.exe php

Trong PowerShell thông thường, where là alias của Where-Object. Viết where.exe chỉ rõ chương trình Windows. Kết quả tìm file của chương trình này không thay thế việc kiểm tra alias hoặc function bằng Get-Command.

3. Chạy đường dẫn đã xác minh để đối chiếu

Giả sử bạn đã xác minh bộ cài nằm tại C:\Tools\PHP\php.exe. Đây là đường dẫn minh họa, không phải yêu cầu máy nào cũng có:

& 'C:\Tools\PHP\php.exe' --version

Toán tử & gọi chương trình tại đường dẫn trong chuỗi. Chỉ chạy file từ nguồn tin cậy; không thực thi mọi file tìm được chỉ để xem phiên bản. Nếu bản chạy bằng đường dẫn đúng còn lệnh ngắn chọn bản khác, vấn đề đã được thu hẹp về cách phân giải lệnh hoặc môi trường.

Với chương trình nằm trong thư mục hiện tại, PowerShell thường yêu cầu đường dẫn tường minh như .\tool.exe thay vì tự tìm tại đó. Không thêm thư mục hiện tại vào PATH một cách tùy tiện để né bước này.

4. So sánh đúng môi trường đang chạy

Terminal độc lập, terminal trong IDE và tác vụ nền có thể được khởi chạy với môi trường khác nhau. Hãy thu thập thông tin tại nơi lỗi xảy ra, không dùng kết quả của một cửa sổ khác làm bằng chứng thay thế.

Sau khi thay đổi cấu hình môi trường qua quy trình phù hợp, mở lại tiến trình liên quan rồi kiểm tra lại. Với terminal tích hợp, đôi khi cần khởi động lại cả IDE vì terminal con nhận môi trường từ tiến trình cha. Không cần sửa PATH toàn máy chỉ để giải quyết nhu cầu riêng của một dự án.

5. Phiên bản chương trình đúng chưa đủ

Với PHP, sau khi xác định đúng file thực thi tin cậy, có thể xem thêm:

php --version
php --ini
php -m

Các lệnh này giúp đối chiếu phiên bản, cấu hình được nạp và module. Kết quả CLI không tự chứng minh PHP phục vụ website dùng cùng bản hoặc cùng cấu hình. Nếu lỗi chỉ xuất hiện trên web, cần kiểm tra môi trường web riêng bằng phương thức quản trị phù hợp, không công khai trang thông tin nhạy cảm.

6. Checklist trước khi thay cấu hình

  • Đã xác định CommandType và đường dẫn thực tế.
  • Đã kiểm tra các ứng viên cùng tên trong terminal gặp lỗi.
  • Đã đối chiếu bằng đường dẫn tin cậy.
  • Đã phân biệt CLI, IDE và môi trường dịch vụ.
  • Đã ghi nhận cấu hình cũ và phạm vi thay đổi cần thiết.

Hãy bắt đầu bằng bằng chứng “lệnh nào đang được chạy”, rồi mới quyết định thay cấu hình. Cách làm này tránh cài đặt chồng chéo và giảm nguy cơ sửa môi trường của một dự án nhưng làm hỏng dự án khác.

Thảo luận

Bình luận 0

Đăng nhập để bình luận

Bạn cần có tài khoản để tham gia thảo luận và trả lời độc giả khác.

Đăng nhậpĐăng ký

Chưa có bình luận. Hãy là người đầu tiên chia sẻ ý kiến.