Hướng dẫn how do i run a php command? - làm cách nào để chạy lệnh php?

Thực hiện các tệp PHP

Có ba cách khác nhau để cung cấp cho CLI SAPI mã PHP được thực thi:

  1. Nói với PHP để thực hiện một tệp nhất định.

    $ php my_script.php
    
    $ php -f my_script.php
    

    Cả hai cách (dù sử dụng công tắc -f hay không) thực thi tệp my_script.php. Lưu ý rằng không có giới hạn nào về các tệp có thể được thực thi; Cụ thể, tên tệp không bắt buộc có phần mở rộng .php.-f switch or not) execute the file my_script.php. Note that there is no restriction on which files can be executed; in particular, the filename is not required have a .php extension.

  2. Vượt qua mã PHP để thực thi trực tiếp trên dòng lệnh.

    $ php -r 'print_r(get_defined_constants());'
    

    Chăm sóc đặc biệt phải được thực hiện liên quan đến thay thế biến vỏ và sử dụng trích dẫn.

    Ghi chú::

    Đọc kỹ ví dụ: không có thẻ bắt đầu hoặc kết thúc! Công tắc -R chỉ đơn giản là không cần chúng và sử dụng chúng sẽ dẫn đến lỗi phân tích cú pháp.-r switch simply does not need them, and using them will lead to a parse error.

  3. Cung cấp mã PHP để thực thi thông qua đầu vào tiêu chuẩn (stdin).

    Điều này mang lại khả năng mạnh mẽ để tạo mã PHP một cách linh hoạt và cung cấp nó cho nhị phân, như trong ví dụ (hư cấu) này:

    $ some_application | some_filter | php | sort -u > final_output.txt
    

Bạn không thể kết hợp bất kỳ cách nào trong ba cách để thực thi mã.

Như với mỗi ứng dụng shell, nhị phân PHP chấp nhận một số đối số; Tuy nhiên, tập lệnh PHP cũng có thể nhận được các đối số tiếp theo. Số lượng đối số có thể được truyền vào tập lệnh của bạn không bị giới hạn bởi PHP (và mặc dù shell có giới hạn về số lượng ký tự có thể được truyền, nhưng điều này không nói chung có thể bị tấn công). Các đối số được chuyển cho tập lệnh có sẵn trong mảng toàn cầu $ argv. Chỉ mục đầu tiên (0) luôn chứa tên của tập lệnh như được gọi từ dòng lệnh. Lưu ý rằng, nếu mã được thực thi nội tuyến bằng cách sử dụng công tắc dòng lệnh -r, giá trị của $ argv [0] sẽ là "Standard input code"; Trước Php 7.2.0, đó là một dấu gạch ngang ("-"). Điều tương tự cũng đúng nếu mã được thực thi thông qua một đường ống từ

$ php -r 'print_r(get_defined_constants());'
0.-r, the value of $argv[0] will be "Standard input code"; prior to PHP 7.2.0, it was a dash ("-") instead. The same is true if the code is executed via a pipe from
$ php -r 'print_r(get_defined_constants());'
0.

Một biến toàn cầu thứ hai, $ argc, chứa số lượng phần tử trong mảng $ argv (không phải số lượng đối số được truyền cho tập lệnh).

Miễn là các đối số được chuyển đến kịch bản không bắt đầu với nhân vật

$ php -r 'print_r(get_defined_constants());'
1, không có gì đặc biệt để chú ý. Chuyển một đối số cho tập lệnh bắt đầu bằng một
$ php -r 'print_r(get_defined_constants());'
1 sẽ gây rắc rối vì trình thông dịch PHP nghĩ rằng nó phải tự xử lý nó, ngay cả trước khi thực thi tập lệnh. Để ngăn chặn điều này, hãy sử dụng bộ phân cách danh sách đối số
$ php -r 'print_r(get_defined_constants());'
3. Sau khi dấu phân cách này đã được phân tích cú pháp bởi PHP, mọi đối số sau đây đều được chuyển qua kịch bản.

# This will not execute the given code but will show the PHP usage
$ php -r 'var_dump($argv);' -h
Usage: php [options] [-f] <file> [args...]
[...]

# This will pass the '-h' argument to the script and prevent PHP from showing its usage
$ php -r 'var_dump($argv);' -- -h
array(2) {
  [0]=>
  string(1) "-"
  [1]=>
  string(2) "-h"
}

Tuy nhiên, trên các hệ thống UNIX, có một cách khác để sử dụng PHP cho kịch bản shell: Làm cho dòng đầu tiên của tập lệnh bắt đầu với

$ php -r 'print_r(get_defined_constants());'
4 (hoặc bất kỳ đường dẫn nào đến nhị phân PHP CLI của bạn là nếu khác). Phần còn lại của tệp phải chứa mã PHP bình thường trong các thẻ bắt đầu và kết thúc PHP thông thường. Khi các thuộc tính thực thi của tệp được đặt một cách thích hợp (ví dụ: kiểm tra Chmod +x), tập lệnh có thể được thực thi như bất kỳ script shell hoặc perl nào khác:chmod +x test), the script can be executed like any other shell or perl script:

Ví dụ #1 Thực thi tập lệnh PHP dưới dạng tập lệnh shell

$ php -r 'print_r(get_defined_constants());'
5

Giả sử tệp này được đặt tên kiểm tra trong thư mục hiện tại, giờ đây có thể thực hiện như sau:

$ chmod +x test
$ ./test -h -- foo
array(4) {
  [0]=>
  string(6) "./test"
  [1]=>
  string(2) "-h"
  [2]=>
  string(2) "--"
  [3]=>
  string(3) "foo"
}

Có thể thấy, trong trường hợp này, không cần phải thực hiện chăm sóc đặc biệt khi chuyển các tham số bắt đầu bằng

$ php -r 'print_r(get_defined_constants());'
1.

Thực thi PHP có thể được sử dụng để chạy các tập lệnh PHP hoàn toàn độc lập với máy chủ web. Trên các hệ thống UNIX, dòng đầu tiên

$ php -r 'print_r(get_defined_constants());'
7 (hoặc "Shebang") đặc biệt vào các tập lệnh PHP để hệ thống có thể tự động biết chương trình nào sẽ chạy tập lệnh. Trên các nền tảng Windows, có thể liên kết php.exe với tùy chọn nhấp kép của tiện ích mở rộng .php hoặc tệp hàng loạt có thể được tạo để chạy tập lệnh thông qua PHP. Dòng đầu tiên Shebang đặc biệt cho Unix không gây hại cho Windows (vì nó được định dạng là nhận xét PHP), vì vậy các chương trình nền tảng chéo có thể được viết bằng cách bao gồm nó. Một ví dụ đơn giản về việc viết một chương trình PHP dòng lệnh được hiển thị bên dưới.

Ví dụ #2 tập lệnh dự định chạy từ dòng lệnh (script.php)

$ php -r 'print_r(get_defined_constants());'
9

$ some_application | some_filter | php | sort -u > final_output.txt
0

$ some_application | some_filter | php | sort -u > final_output.txt
1

$ some_application | some_filter | php | sort -u > final_output.txt
2

$ some_application | some_filter | php | sort -u > final_output.txt
3

Kịch bản trên bao gồm dòng đầu tiên của Unix Shebang để chỉ ra rằng tệp này nên được chạy bởi PHP. Chúng tôi đang làm việc với phiên bản CLI ở đây, vì vậy không có tiêu đề HTTP nào sẽ được đầu ra.

Chương trình trước tiên kiểm tra xem có một đối số cần thiết (ngoài tên tập lệnh, cũng được tính). Nếu không, hoặc nếu đối số là -Help, -help, -h hoặc -?, Thông báo trợ giúp được in ra, sử dụng $ argv [0] để in động tên tập lệnh như được nhập trên dòng lệnh. Nếu không, đối số được lặp lại chính xác như đã nhận được.--help, -help, -h or -?, the help message is printed out, using $argv[0] to dynamically print the script name as typed on the command line. Otherwise, the argument is echoed out exactly as received.

Để chạy tập lệnh trên trên Unix, nó phải được thực thi và được gọi đơn giản là script.php echothis hoặc script.php -h. Trên Windows, một tập tin hàng loạt tương tự như sau đây có thể được tạo cho tác vụ này:script.php echothis or script.php -h. On Windows, a batch file similar to the following can be created for this task:

Ví dụ #3 Tệp Batch để chạy tập lệnh Php dòng lệnh (script.bat)

@echo OFF
"C:\php\php.exe" script.php %*

Giả sử chương trình trên được đặt tên là script.php và CLI php.exe nằm trong c: \ php \ php.exe, tệp hàng loạt này sẽ chạy nó, chuyển tất cả các tùy chọn được nối thêm: script.bat echothis hoặc script.bat -hh .script.bat echothis or script.bat -h.

Xem thêm Tài liệu mở rộng Readline để biết thêm các chức năng có thể được sử dụng để tăng cường các ứng dụng dòng lệnh trong PHP.

Trên Windows, PHP có thể được cấu hình để chạy mà không cần cung cấp cho phần mở rộng C: \ PHP \ php.exe hoặc .php, như được mô tả trong dòng lệnh PHP trên Microsoft Windows.

Ghi chú::

Trên Windows, nên chạy PHP trong tài khoản người dùng thực tế. Khi chạy theo dịch vụ mạng, một số hoạt động sẽ thất bại, bởi vì "không có ánh xạ giữa tên tài khoản và ID bảo mật đã được thực hiện".

PHP tại Richardneill Dot org ¶

9 năm trước

$ some_application | some_filter | php | sort -u > final_output.txt
5

$ some_application | some_filter | php | sort -u > final_output.txt
6

$ some_application | some_filter | php | sort -u > final_output.txt
7

$ some_application | some_filter | php | sort -u > final_output.txt
8

$ some_application | some_filter | php | sort -u > final_output.txt
9

# This will not execute the given code but will show the PHP usage
$ php -r 'var_dump($argv);' -h
Usage: php [options] [-f] <file> [args...]
[...]

# This will pass the '-h' argument to the script and prevent PHP from showing its usage
$ php -r 'var_dump($argv);' -- -h
array(2) {
  [0]=>
  string(1) "-"
  [1]=>
  string(2) "-h"
}
0

# This will not execute the given code but will show the PHP usage
$ php -r 'var_dump($argv);' -h
Usage: php [options] [-f] <file> [args...]
[...]

# This will pass the '-h' argument to the script and prevent PHP from showing its usage
$ php -r 'var_dump($argv);' -- -h
array(2) {
  [0]=>
  string(1) "-"
  [1]=>
  string(2) "-h"
}
1

# This will not execute the given code but will show the PHP usage
$ php -r 'var_dump($argv);' -h
Usage: php [options] [-f] <file> [args...]
[...]

# This will pass the '-h' argument to the script and prevent PHP from showing its usage
$ php -r 'var_dump($argv);' -- -h
array(2) {
  [0]=>
  string(1) "-"
  [1]=>
  string(2) "-h"
}
2

$ some_application | some_filter | php | sort -u > final_output.txt
3

Gabriel tại FigDice Dot org ¶

5 năm trước

# This will not execute the given code but will show the PHP usage
$ php -r 'var_dump($argv);' -h
Usage: php [options] [-f] <file> [args...]
[...]

# This will pass the '-h' argument to the script and prevent PHP from showing its usage
$ php -r 'var_dump($argv);' -- -h
array(2) {
  [0]=>
  string(1) "-"
  [1]=>
  string(2) "-h"
}
4

# This will not execute the given code but will show the PHP usage
$ php -r 'var_dump($argv);' -h
Usage: php [options] [-f] <file> [args...]
[...]

# This will pass the '-h' argument to the script and prevent PHP from showing its usage
$ php -r 'var_dump($argv);' -- -h
array(2) {
  [0]=>
  string(1) "-"
  [1]=>
  string(2) "-h"
}
5

# This will not execute the given code but will show the PHP usage
$ php -r 'var_dump($argv);' -h
Usage: php [options] [-f] <file> [args...]
[...]

# This will pass the '-h' argument to the script and prevent PHP from showing its usage
$ php -r 'var_dump($argv);' -- -h
array(2) {
  [0]=>
  string(1) "-"
  [1]=>
  string(2) "-h"
}
6

# This will not execute the given code but will show the PHP usage
$ php -r 'var_dump($argv);' -h
Usage: php [options] [-f] <file> [args...]
[...]

# This will pass the '-h' argument to the script and prevent PHP from showing its usage
$ php -r 'var_dump($argv);' -- -h
array(2) {
  [0]=>
  string(1) "-"
  [1]=>
  string(2) "-h"
}
7

# This will not execute the given code but will show the PHP usage
$ php -r 'var_dump($argv);' -h
Usage: php [options] [-f] <file> [args...]
[...]

# This will pass the '-h' argument to the script and prevent PHP from showing its usage
$ php -r 'var_dump($argv);' -- -h
array(2) {
  [0]=>
  string(1) "-"
  [1]=>
  string(2) "-h"
}
8

# This will not execute the given code but will show the PHP usage
$ php -r 'var_dump($argv);' -h
Usage: php [options] [-f] <file> [args...]
[...]

# This will pass the '-h' argument to the script and prevent PHP from showing its usage
$ php -r 'var_dump($argv);' -- -h
array(2) {
  [0]=>
  string(1) "-"
  [1]=>
  string(2) "-h"
}
9

$ chmod +x test
$ ./test -h -- foo
array(4) {
  [0]=>
  string(6) "./test"
  [1]=>
  string(2) "-h"
  [2]=>
  string(2) "--"
  [3]=>
  string(3) "foo"
}
0

$ some_application | some_filter | php | sort -u > final_output.txt
3

David tại Frankieandshadow dot com ¶

6 năm trước

$ chmod +x test
$ ./test -h -- foo
array(4) {
  [0]=>
  string(6) "./test"
  [1]=>
  string(2) "-h"
  [2]=>
  string(2) "--"
  [3]=>
  string(3) "foo"
}
2

$ chmod +x test
$ ./test -h -- foo
array(4) {
  [0]=>
  string(6) "./test"
  [1]=>
  string(2) "-h"
  [2]=>
  string(2) "--"
  [3]=>
  string(3) "foo"
}
3

$ chmod +x test
$ ./test -h -- foo
array(4) {
  [0]=>
  string(6) "./test"
  [1]=>
  string(2) "-h"
  [2]=>
  string(2) "--"
  [3]=>
  string(3) "foo"
}
4

$ some_application | some_filter | php | sort -u > final_output.txt
3

Email tại Alexander-Bombis Dot de ¶

1 năm trước

$ chmod +x test
$ ./test -h -- foo
array(4) {
  [0]=>
  string(6) "./test"
  [1]=>
  string(2) "-h"
  [2]=>
  string(2) "--"
  [3]=>
  string(3) "foo"
}
6

$ chmod +x test
$ ./test -h -- foo
array(4) {
  [0]=>
  string(6) "./test"
  [1]=>
  string(2) "-h"
  [2]=>
  string(2) "--"
  [3]=>
  string(3) "foo"
}
7

$ chmod +x test
$ ./test -h -- foo
array(4) {
  [0]=>
  string(6) "./test"
  [1]=>
  string(2) "-h"
  [2]=>
  string(2) "--"
  [3]=>
  string(3) "foo"
}
8

$ some_application | some_filter | php | sort -u > final_output.txt
3

Spencer tại Aninetpresence Dot Net

11 năm trước

@echo OFF
"C:\php\php.exe" script.php %*
0

Tôi có thể chạy PHP trong chrome không?

Chromebook là một thiết bị chính xác để chạy các tệp PHP.Vì nó chủ yếu hoạt động bởi hệ điều hành Chrome.. As it is mainly operates by Chrome operating system.

PHP có thể chạy trong CMD không?

Một tập lệnh PHP có thể được thực thi từ dòng lệnh ngay cả khi mà không có bất kỳ phần mềm máy chủ web nào được cài đặt.Để chạy tập lệnh PHP từ dòng lệnh, bạn chỉ nên cài đặt PHP CLI (giao diện dòng lệnh PHP) trên hệ thống của bạn.. To run the PHP script from the command line you should just have a PHP CLI (PHP Command Line Interface) installed on your system.

Lệnh sử dụng PHP là gì?

Từ khóa sử dụng có hai mục đích: nó bảo một lớp kế thừa một đặc điểm và nó mang lại bí danh cho một không gian tên.it tells a class to inherit a trait and it gives an alias to a namespace.

Các lệnh cơ bản của PHP là gì?

PHP/25 Chức năng thiết yếu..
1 danh sách chức năng ..
2 trần () 2.1 Sử dụng.2.2 Ứng dụng thực tế ..
3 Đếm () 3.1 Sử dụng.3.2 Ứng dụng thực tế ..
4 Die () 4.1 Sử dụng.4.2 Ứng dụng thực tế.....
5 Echo () 5.1 Sử dụng.5.2 Ứng dụng thực tế ..
6 trống () 6.1 Sử dụng.6.2 Ứng dụng thực tế.....
7 Thoát ().
8 file_get_contents () 8.1 Sử dụng ..