Hướng dẫn terminal php - thiết bị đầu cuối php

PHP CLI (Command Line Interface) hay giao diện dòng lệnh PHP là chương trình dịch PHP độc lập hoạt động ở chế độ dòng lệnh tương tự như chương trình dịch của các ngôn ngữ Python, C# hay Java. PHP CLI hoạt động không cần đến một web server và do đó là một công cụ rất tốt để học ngôn ngữ PHP.

Nội dung chính

  • PHP CLI là gì?
  • Tại sao bắt đầu với PHP CLI?
  • Sử dụng PHP CLI
  • Chạy file script
  • Thực thi một đoạn code PHP
  • Xem thông tin chi tiết về hàm hoặc lớp
  • Chạy chế độ tương tác của PHP
  • Chạy web server tích hợp
  • Cấu hình PhpStorm để sử dụng PHP CLI
  • Cài đặt PHP XDebug cho PhpStorm
  • Kết luận

Như đã nói ngay từ bài giới thiệu về lập trình PHP, tập bài giảng này sử dụng một cách tiếp cận hơi khác. Thay vì dậy ngôn ngữ lập trình PHP kết hợp với ứng dụng web ngay từ đầu, chúng ta sẽ khám phá các vấn đề cơ bản của ngôn ngữ PHP thông qua việc viết các script chạy từ CLI. Cách tiếp cận này giúp bạn tránh những yếu tố nhiễu của ứng dụng web (như mô hình client/server, HTML, CSS) để tập trung vào chính ngôn ngữ PHP. Khi đã nắm vững những vấn đề cơ bản của ngôn ngữ chúng ta sẽ quay lại với ứng dụng web.

Để tiện lợi cho bạn trong các bài học cơ bản về ngôn ngữ PHP, trong bài học này chúng ta sẽ làm quen với giao diện dòng lệnh của PHP CLI.

PHP CLI là gì?

Tại sao bắt đầu với PHP CLI?

Sử dụng PHP CLI

Chạy file script trong một tệp .php: Đa số người học PHP nghĩ rằng file php dành riêng cho web và chỉ được thực thi trên web server. Thực tế, PHP CLI cho phép chạy các file php trên giao diện console như một chương trình desktop bình thường.

Thực thi một đoạn code PHP

Xem thông tin chi tiết về hàm hoặc lớp: thay vì phải viết cả một file script, PHP CLI chấp nhận cả những đoạn code PHP và thực thi. Tính năng này rất tiện lợi nếu bạn muốn nhanh chóng kiểm tra việc thực hiện của một đoạn code.

Chạy chế độ tương tác của PHP về hàm, class: đây là tính năng trợ giúp cung cấp thông tin chi tiết về các hàm và class được hỗ trợ.

Chạy web server tích hợp (Interactive shell): đây là chế độ hoạt động theo mô hình REPL (read–eval–print loop) thông dụng của các ngôn ngữ script.

Cấu hình PhpStorm để sử dụng PHP CLI: Bộ chương trình PHP tích hợp sẵn một web server đơn giản giúp bạn test các script ở môi trường web mà không cần đến một server thực thụ như Apache.

Cài đặt PHP XDebug cho PhpStorm

Tại sao bắt đầu với PHP CLI?

Sử dụng PHP CLI

Chạy file scriptnhược điểm.

Thực thi một đoạn code PHP

Xem thông tin chi tiết về hàm hoặc lớp

Chạy chế độ tương tác của PHP

Chạy web server tích hợp

Cấu hình PhpStorm để sử dụng PHP CLIlợi ích riêng.

Cài đặt PHP XDebug cho PhpStorm

Kết luận

Như đã nói ngay từ bài giới thiệu về lập trình PHP, tập bài giảng này sử dụng một cách tiếp cận hơi khác. Thay vì dậy ngôn ngữ lập trình PHP kết hợp với ứng dụng web ngay từ đầu, chúng ta sẽ khám phá các vấn đề cơ bản của ngôn ngữ PHP thông qua việc viết các script chạy từ CLI. Cách tiếp cận này giúp bạn tránh những yếu tố nhiễu của ứng dụng web (như mô hình client/server, HTML, CSS) để tập trung vào chính ngôn ngữ PHP. Khi đã nắm vững những vấn đề cơ bản của ngôn ngữ chúng ta sẽ quay lại với ứng dụng web.

Để tiện lợi cho bạn trong các bài học cơ bản về ngôn ngữ PHP, trong bài học này chúng ta sẽ làm quen với giao diện dòng lệnh của PHP CLI.

Sử dụng PHP CLI

Chạy file script

Do PHP CLI được sử dụng độc lập với web server, bạn luôn nên cài đặt bản PHP mới nhất. Việc cài đặt bản PHP mới nhất cũng giúp bạn khám phá những cập nhật của ngôn ngữ.

Để sử dụng PHP CLI, bạn cần mở Command Prompt (cmd) của Windows.

Để tiện lợi, bạn cần thêm đường dẫn tới thư mục cài PHP (ví dụ, C:\php) vào danh sách PATH của hệ thống (windows).

Kiểm tra phiên bản PHP đang sử dụng trên hệ thống: php -version hoặc php -v đang sử dụng trên hệ thống: php -version hoặc php -v

Hướng dẫn terminal php - thiết bị đầu cuối php

Trợ giúp sử dụng PHP CLI: php --help sử dụng PHP CLI: php --help

PHP CLI có rất nhiều khả năng khác nhau. Dưới đây là những lệnh thông dụng và hữu ích hơn cả cho quá trình học PHP.

Chạy file script

php --file đường_dẫn_tới_file_php

Tham số –file không bắt buộc. Bạn có thể gọi lệnh tắt php đường_dẫn_tới_file_php. Đây là lệnh bạn đã sử dụng trong bài học trước (cài đặt môi trường cho PHP).

Đây là lệnh sử dụng nhiều nhất khi học PHP căn bản trong tài liệu này.

Trong giai đoạn đầu chúng ta sẽ sử dụng một IDE hoặc text editor để viết script và chạy thử nghiệm mà không sử dụng web server.

Thực thi một đoạn code PHP

php -r "mã lệnh PHP"

Lưu ý: mã lệnh PHP phải đặt trong cặp dấu “” và kết thúc bằng dấu chấm phẩy: php -r "echo 'Hello world';"

Lệnh này rất tiện lợi để test nhanh kết quả thực hiện cách lệnh ngắn hoặc các hàm đơn giản thay cho việc viết cả file script.

Xem thông tin chi tiết về hàm hoặc lớp

[xdebug]
zend_extension = C:\php\ext\php_xdebug-3.0.3-8.0-vs16-nts-x86_64.dll
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
0 hoặc
[xdebug]
zend_extension = C:\php\ext\php_xdebug-3.0.3-8.0-vs16-nts-x86_64.dll
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
1

Cặp lệnh này đóng vai trò trợ giúp khi bạn học cách làm việc với một hàm hoặc class sẵn có trên PHP. Nó hiển thị thông tin chi tiết về tham số của hàm hoặc các thành phần của class.

Chạy chế độ tương tác của PHP

[xdebug]
zend_extension = C:\php\ext\php_xdebug-3.0.3-8.0-vs16-nts-x86_64.dll
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
2

Chế độ tương tác (interactive shell/mode) là một chế độ lập trình theo mô hình REPL (Read-Evaluate-Print Loop). Ở mô hình này, thay vì phải viết các file script, bạn lần lượt nhập trực tiếp các lệnh của ngôn ngữ PHP vào dấu nhắc lệnh. PHP sẽ đọc, thực thi và in ra ngay kết quả (nếu có).

Đây là mộ chế độ lập trình rất hiệu quả để bạn thử nghiệm code trước khi đưa vào script, giúp rút ngắt thời gian viết và thử nghiệm code.

Chế độ tương tác rất phổ biến. Các ngôn ngữ như Python, C#, F#, v.v., đều có chế độ tương tác như vậy.

Trong quá trình học PHP cơ bản chúng ta cũng sẽ tích cực sử dụng chế độ tương tác này.

Chạy web server tích hợp

[xdebug]
zend_extension = C:\php\ext\php_xdebug-3.0.3-8.0-vs16-nts-x86_64.dll
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
3

Bộ chương trình PHP có sẵn một web server đơn giản tích hợp. Nếu chưa có nhu cầu sử dụng một web server chính thức, bạn có thể kích hoạt server tích hợp này để test ứng dụng.

Lệnh kích hoạt server này có dạng

[xdebug]
zend_extension = C:\php\ext\php_xdebug-3.0.3-8.0-vs16-nts-x86_64.dll
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
4. Thông thường, địa chỉ trên máy cục bộ hay để là localhost (một alias của địa chỉ loopback 127.0.0.1) hoặc địa chỉ IP của một giao diện mạng (NIC) cụ thể. Cổng mặc định cho web server là 80. Tuy nhiên bạn nên sử dụng một giá trị khác ở cuối dải để tránh trùng cổng.

Khi server đã được kích hoạt, bạn có thể chạy tất cả các script PHP chứa trong thư mục hiện hành qua trình duyệt:

Trong ví dụ này, chúng ta kích hoạt web server nghe cổng 8000 trên localhost khi đang ở trong thư mục PhpProjects. Do vậy, bạn có thể truy xuất các script trong thư mục này qua địa chỉ localhost:8000/.php.

Cấu hình PhpStorm để sử dụng PHP CLI

Trong bài học về cài đặt môi trường phát triển ứng dụng PHP chúng ta đã nói về việc sử dụng PhpStorm với vai trò IDE chính.

Khi chạy lần đầu, PhpStorm không biết gì về PHP cài đặt trên hệ thống. Bạn cần chỉ định phiên bản muốn sử dụng.

Chọn Configure -> Settings -> chọn node Languages & Frameworks -> chọn node PHP.

Bấm nút (1) để mở cửa sổ chọn CLI Interpreters.

Trong cửa sổ CLI Interpreters bấm nút (2) để thêm một bộ PHP mới. PhpStorm có thể lưu trữ cấu hình cho nhiều CLI khác nhau. Ví dụ, nếu bạn cần sử dụng nhiều phiên bản PHP khác nhau để test ứng dụng. Phổ biến nhất là test code trên PHP 5.x và PHP 7.x.

Ấn nút số (3) để mở cửa sổ chọn file php.exe. Lưu ý nếu bạn lựa chọn phiên bản PHP nào thì nên bổ sung đường dẫn thư mục của nó (trong ví dụ trên C:\php) vào danh sách PATH của hệ thống (windows). Khi sử dụng terminal, bạn có thể dễ dàng gọi lệnh php.exe mà không cần đến đường dẫn đầy đủ.

Ở ô nhập số 4 đặt một tên gọi bất kỳ.

Ấn OK để quay lại cửa sổ Settings.

Trong danh sách PHP Language Level chọn mức cao nhất có thể. Lựa chọn này quyết định tính năng của PHP sẽ được sử dụng cho project. Các phiên bản cao hơn sẽ có nhiều tính năng mới.PHP Language Level chọn mức cao nhất có thể. Lựa chọn này quyết định tính năng của PHP sẽ được sử dụng cho project. Các phiên bản cao hơn sẽ có nhiều tính năng mới.

Đến đây bạn hoàn thành cấu hình PHP cho PhpStorm.

Hãy tạo một project PHP mới (Create New Project) đặt tên là LearnPHP. Trong project này tạo file script đầu tiên index.php và viết code như sau:

Một cách tiện lợi để chạy một script ở chế độ CLI trong PhpStorm là tạo Run Configuration cho file script cần chạy:

  1. Click phải vào file script php cần thực thi (ví dụ, file index.php vừa tạo);
  2. Chọn lệnh Create Run Configuration (chọn tiếp mục PHP script);
  3. Ở cửa sổ Create Run Configuration cho file tương ứng chỉ cần ấn OK.

Giờ bạn có thể ấn tổ hợp Shift + F10 hoặc nút lệnh số (1) để chạy file script trong cửa sổ Run (2).

Bạn cũng có thể phát lệnh chạy file script từ cửa sổ Terminal (3) với lệnh:

[xdebug]
zend_extension = C:\php\ext\php_xdebug-3.0.3-8.0-vs16-nts-x86_64.dll
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
5

Chú ý cửa sổ Terminal của PhpStorm có thể xem là tương đương với Command Prompt (cmd) của Windows, thậm chí còn tiện lợi hơn. Bạn nên sử dụng PHP CLI trực tiếp từ Terminal, thay vì chạy chương trình Command Prompt riêng.

Cài đặt PHP XDebug cho PhpStorm

Khi lập trình bạn có thể gặp các lỗi runtime – loại lỗi về logic phát sinh trong quá trình thực thi ứng dụng. Loại lỗi này khác biệt với lỗi cú pháp, còn gọi là lỗi compile time – loại lỗi phát sinh trong khi viết code do không tuân thủ quy tắc cú pháp của ngôn ngữ.lỗi runtime – loại lỗi về logic phát sinh trong quá trình thực thi ứng dụng. Loại lỗi này khác biệt với lỗi cú pháp, còn gọi là lỗi compile time – loại lỗi phát sinh trong khi viết code do không tuân thủ quy tắc cú pháp của ngôn ngữ.

Lỗi compile time rất dễ phát hiện nếu sử dụng một IDE hoặc text editor hỗ trợ ngôn ngữ PHP. Tuy nhiên, để phát hiện nguồn gây lỗi runtime thường khó khăn hơn nhiều.

Một trong những kỹ thuật phổ biến nhất để dò lỗi runtime là debug. Kỹ thuật này sẽ gắn một chương trình / đoạn code nhỏ – gọi là debugger – vào ứng dụng khi thực thi. Debugger giúp theo dõi những gì diễn ra khi thực thi code, cho phép dừng thực thi, và kiểm tra giá trị các biến.debug. Kỹ thuật này sẽ gắn một chương trình / đoạn code nhỏ – gọi là debugger – vào ứng dụng khi thực thi. Debugger giúp theo dõi những gì diễn ra khi thực thi code, cho phép dừng thực thi, và kiểm tra giá trị các biến.

PHP mặc định không cung cấp công cụ dò lỗi debugger. Bạn phải tự mình cài đặt riêng. Công cụ dò lỗi phổ biến nhất trên PHP là XDebug. Tiếp theo đây chúng ta sẽ cùng xem xét cách cài đặt XDebug.

Bước 1. Tải file thư viện Xdebug cho windows từ trang Xdebug: Downloads. Tải file thư viện Xdebug cho windows từ trang Xdebug: Downloads

Lựa chọn phiên bản XDebug phù hợp với phiên bản PHP bạn đang sử dụng.

Ví dụ, nếu bạn chạy PHP 8.0 64 bit NTS thì lựa chọn file PHP 8.0 VS16 (64 bit). Nếu sử dụng PHP TS (ThreadSafe) thì lựa chọn bản TS tương ứng cho Xdebug.

Bước 2. Copy file dll vào thư mục

[xdebug]
zend_extension = C:\php\ext\php_xdebug-3.0.3-8.0-vs16-nts-x86_64.dll
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
6.. Copy file dll vào thư mục
[xdebug]
zend_extension = C:\php\ext\php_xdebug-3.0.3-8.0-vs16-nts-x86_64.dll
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
6.

Bước 3. Mở file php.ini và thêm vào cuối file nội dung như sau:. Mở file php.ini và thêm vào cuối file nội dung như sau:

[xdebug]
zend_extension = C:\php\ext\php_xdebug-3.0.3-8.0-vs16-nts-x86_64.dll
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9003

Chú ý ở zend_extension cần chỉ đúng đường dẫn tuyệt đối đến file thư viện xdebug.

Bước 4. Kiểm tra trong PhpStorm. Kiểm tra trong PhpStorm

Mở File -> Settings -> Languages & Frameworks -> PHP, click vào nút đánh dấu đỏ:

Nếu cấu hình chính xác các bước trên, bản PHP tương ứng sẽ chỉ phiên bản Debugger đang sử dụng.

Bước 5. Kiểm tra trong terminal. Kiểm tra trong terminal

Một cách khác để kiểm tra xem xdebug đã hoạt động chưa là sử dụng lệnh

[xdebug]
zend_extension = C:\php\ext\php_xdebug-3.0.3-8.0-vs16-nts-x86_64.dll
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
7 trong Command Prompt:

php --version
PHP 8.0.0 (cli) (built: Nov 24 2020 22:02:58) ( NTS Visual C++ 2019 x64 )
Copyright (c) The PHP Group
Zend Engine v4.0.0-dev, Copyright (c) Zend Technologies
with Xdebug v3.0.3, Copyright (c) 2002-2021, by Derick Rethans

Kết luận

Trong bài học này chúng ta đã cùng tìm hiểu chi tiết về cách sử dụng PHP CLI:

  • Đây là một công cụ rất tốt để học ngôn ngữ PHP, giúp tránh những phức tạp không cần thiết của web ở giai đoạn đầu, cũng như giúp khám phá những tính năng mới của ngôn ngữ nhanh chóng dễ dàng.
  • Để sử dụng PHP CLI bạn nên tải bộ file zip mới nhất từ website chính thức php.net và đặt đường dẫn thư mục tương ứng vào PATH của hệ thống.
  • PHP CLI cho phép thực hiện nhiều công việc quan trọng: chạy file script, chạy mã lệnh PHP, chạy chế độ tương tác, trợ giúp hàm/class, chạy web server tích hợp.
  • Bạn cũng học cách cấu hình PhpStorm để sử dụng cùng PHP CLI và tạo project đầu tiên trong PhpStorm.

+ Nếu bạn thấy site hữu ích, trước khi rời đi hãy giúp đỡ site bằng một hành động nhỏ để site có thể phát triển và phục vụ bạn tốt hơn.+ Nếu bạn thấy bài viết hữu ích, hãy giúp chia sẻ tới mọi người.+ Nếu có thắc mắc hoặc cần trao đổi thêm, mời bạn viết trong phần thảo luận cuối trang.Cảm ơn bạn!giúp đỡ site bằng một hành động nhỏ để site có thể phát triển và phục vụ bạn tốt hơn.
+ Nếu bạn thấy bài viết hữu ích, hãy giúp chia sẻ tới mọi người.
+ Nếu có thắc mắc hoặc cần trao đổi thêm, mời bạn viết trong phần thảo luận cuối trang.
Cảm ơn bạn!