Cách chạy tập lệnh php trong shell

Chẳng hạn, trong khi tôi đang cố gắng tìm ra vấn đề về ngày/định dạng PHP, tôi đã sử dụng lệnh đó trên một tập lệnh có tên là datetest. php có nội dung này

Đây là lệnh PHP đó và đầu ra của nó trông như thế nào khi tôi chạy nó từ dòng lệnh Unix của mình

$ php -f datetest.php
2019-10-02 18:48:12

Chạy PHP tại dòng lệnh Linux/Unix

Lưu ý rằng đối với các thử nghiệm nhỏ như thế này, bạn cũng có thể thực thi mã PHP ngay tại dòng lệnh Unix bằng cách sử dụng php -r

$ php -r '$d = date("Y-m-d H:i:s"); echo "$d\n"; '
2019-10-02 18:52:35

Một chìa khóa tôi tìm thấy với phương pháp này là sử dụng dấu nháy đơn để đính kèm mã PHP của bạn. Nếu bạn sử dụng dấu ngoặc kép, trình bao Unix sẽ cố gắng diễn giải bất kỳ nội dung nào bên trong chuỗi của bạn

Ngoài việc chạy các tập lệnh PHP thông qua một máy chủ web chẳng hạn như Apache, bạn cũng có thể chạy các tập lệnh PHP từ dòng lệnh (cũng có thể viết các ứng dụng GUI bằng PHP bằng cách sử dụng PHP-GTK, nhưng tôi có thể sẽ xem xét điều đó vào lúc khác). Bài đăng này xem xét hai cách bạn có thể chạy tập lệnh PHP từ máy tính dựa trên *nix (Linux, UNIX, BSD, OSX) và cách duy nhất bạn có thể thực hiện từ Windows

Sử dụng một shebang

Các tập lệnh shell UNIX được đặt là có thể thực thi được và dòng đầu tiên trong tệp chứa một dòng "shebang" hiển thị đường dẫn đến tệp thực thi sẽ phân tích cú pháp tập lệnh

Nếu nhị phân PHP của bản phân phối của bạn ở vị trí e. g. /usr/bin/php bạn sẽ thêm phần này vào dòng đầu tiên trong tập lệnh của mình

#!/usr/bin/php

và sau đó có tập lệnh PHP của bạn bên dưới nó

Để chạy "tập lệnh chào thế giới", bạn sẽ làm điều này

#!/usr/bin/php

Tập lệnh sau đó cần được đánh dấu là có thể thực thi được. Để thiết lập nó để nó có thể chạy như bất cứ ai làm điều này

chmod 0755 /path/to/script.php

Để làm cho nó chỉ có bạn mới có thể chạy nó (và vì vậy thậm chí không ai khác có thể đọc nó) hãy làm điều này

chmod 0700 /path/to/script.php

Đọc trang chmod để biết thêm chi tiết về quyền truy cập tệp nếu bạn không biết về chúng. Tôi có một bản sao của trang chủ chmod ở đây

Gọi mã nhị phân PHP, chuyển tên tệp tập lệnh

Để tránh các vấn đề về quyền hoặc để chạy tập lệnh PHP từ dòng lệnh trên Windows (phương pháp trên không hoạt động trên Windows trừ khi chạy qua cygwin), bạn cần thực thi tệp nhị phân PHP chuyển tên tệp tập lệnh làm tham số

Nếu bạn ở trong cùng thư mục với tập lệnh, thì tập lệnh có tên là e. g. ký tự của tôi. php và tệp nhị phân PHP ở /usr/bin/php, bạn sẽ làm điều này để chạy nó

/usr/bin/php myscript.php

Nếu tệp nhị phân PHP nằm trong đường dẫn thực thi của bạn (nó thường có trên hầu hết các bản phân phối Linux) thì bạn chỉ cần chạy “php” và sau đó chạy tập lệnh

________số 8_______

Nếu bạn đang chạy nó từ cron, bạn nên đặt đường dẫn đầy đủ cho cả hai

/usr/bin/php /path/to/myscript.php

Khi sử dụng phương pháp này, bạn không cần phải có dòng shebang ở đầu tập lệnh

Một ví dụ về việc này trên Windows

c:phpphp.exe c:pathtomyscript.php

Phần kết luận

Thật dễ dàng để chạy tập lệnh PHP từ dòng lệnh, rất hữu ích cho việc xử lý hàng loạt hoặc dọn dẹp cơ sở dữ liệu cho trang web của bạn. Kết hợp với xử lý tự động thông qua hệ thống cron và bạn có một công cụ mạnh mẽ tùy ý sử dụng nếu bạn là một lập trình viên PHP và/hoặc trang web của bạn được lập trình bằng PHP

Tập lệnh PHP có thể được thực thi từ dòng lệnh ngay cả khi không cài đặt bất kỳ phần mềm máy chủ web nào

Để chạy tập lệnh PHP từ dòng lệnh, bạn chỉ cần cài đặt PHP CLI (Giao diện dòng lệnh PHP) trên hệ thống của mình

Ghi chú này cho biết cách chạy tập lệnh PHP từ dòng lệnh và cách cài đặt PHP CLI trên Windows, Linux và MacOS

Mẹo hay. Cách tìm vị trí của tệp php.ini. Đọc thêm →

Chạy tập lệnh PHP từ dòng lệnh

Giả sử chúng ta có tệp script.php với mã PHP đơn giản nhất

Để chạy script.php từ dòng lệnh, hãy thực hiện

$ php script.php
- sample output -
Hello World!

Cài đặt PHP CLI

Các thông báo như sau có nghĩa là bạn đang thiếu php-cli trên hệ thống của mình và nên cài đặt nó trước để có thể chạy các tập lệnh PHP từ dòng lệnh

'php' không được công nhận là lệnh nội bộ hoặc bên ngoài,
chương trình có thể hoạt động hoặc tệp bó
- hoặc là -
php. lệnh không tìm thấy

Để kiểm tra xem php-cli đã được cài đặt hay chưa, hãy thực thi

$ php -v
- sample output -
PHP 7.4.3 (cli) (built: Nov 25 2021 23:16:22) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

MacOS đi kèm với PHP được cài đặt sẵn

Để cài đặt php-cli trên Linux

$ sudo apt install php-cli

Để cài đặt PHP trên Windows, hãy tải xuống gói ZIP với phiên bản được yêu cầu, giải nén nó vào

$ php script.php
- sample output -
Hello World!
2 và thêm thư mục này vào biến môi trường
$ php script.php
- sample output -
Hello World!
3

Đối với điều này, nhấn nút phím ⊞ Win để mở menu bắt đầu và nhập vào

$ php script.php
- sample output -
Hello World!
4 để tìm kiếm liên kết “Chỉnh sửa biến môi trường hệ thống” hoặc “Chỉnh sửa biến môi trường cho tài khoản của bạn”

Bắt đầu trình chỉnh sửa, tìm kiếm tên biến

$ php script.php
- sample output -
Hello World!
5, nhấp vào “Chỉnh sửa” và thêm
$ php script.php
- sample output -
Hello World!
2

Để tạo tệp cấu hình mặc định của PHP, tệp ban đầu bị thiếu trên Windows, hãy sao chép

$ php script.php
- sample output -
Hello World!
7 sang
$ php script.php
- sample output -
Hello World!
8

C:\> copy C:\php\php.ini-development C:\php\php.ini

Cuối cùng, sau khi cài đặt PHP, bạn sẽ có thể chạy script.php từ dòng lệnh mà không gặp sự cố nào

Làm cách nào để chạy shell script từ PHP?

Hàm shell_exec() là một hàm sẵn có trong PHP, được sử dụng để thực thi các lệnh thông qua shell và trả về đầu ra hoàn chỉnh dưới dạng . Shell_exec là bí danh của toán tử backtick, dành cho những toán tử đã sử dụng *nix. Nếu lệnh không thành công, trả về NULL và các giá trị không đáng tin cậy để kiểm tra lỗi.

Làm cách nào để chạy tập lệnh PHP trong PowerShell?

Chuyển đến php. net và tải xuống ngăn xếp tệp php cho windows. Copy chồng file vào say c. \php hoặc nếu bạn muốn có nhiều phiên bản, hãy nói c. \php5 hoặc c. \php7, v.v. Mở powershell và gõ c. \php\php. exe -h , bạn sẽ nhận được kết quả trợ giúp php. Yay bạn đang lên và chạy, whoot.

Làm cách nào để chạy PHP từ dòng lệnh Linux?

Ví dụ. .
Để thực thi tệp my_script. php với PHP 8. 0, nhập lệnh sau. /usr/bin/php8. 0-cli my_script. php
Để chạy tệp my_script. php với PHP 7. 4, nhập lệnh sau. /usr/bin/php7. 4-cli my_script. php

Làm cách nào để sử dụng PHP trong dòng lệnh?

Đây là tập lệnh PHP dòng lệnh với một tùy chọn. .
Yêu cầu PHP thực thi một tệp nhất định. $ php my_script. php $ php -f my_script. php. .
Truyền mã PHP để thực thi trực tiếp trên dòng lệnh. $ php -r 'print_r(get_define_constants());'.
Cung cấp mã PHP để thực thi thông qua đầu vào tiêu chuẩn ( stdin )