Hướng dẫn php exec result code - mã kết quả thực thi php

(Php 4, Php 5, Php 7, Php 8)

EXEC - Thực hiện một chương trình bên ngoàiExecute an external program

Sự mô tả

EXEC (Chuỗi $command, mảng &$output = null, int &$result_code = null): Chuỗi | Sai(string $command, array &$output = null, int &$result_code = null): string|false

Thông số

command

Lệnh sẽ được thực thi.

output

Nếu đối số output có mặt, thì mảng được chỉ định sẽ được lấp đầy bằng mọi dòng đầu ra từ lệnh. Trailing Whitespace, chẳng hạn như \n, không được bao gồm trong mảng này. Lưu ý rằng nếu mảng đã chứa một số phần tử, Exec () sẽ nối vào cuối mảng. Nếu bạn không muốn chức năng nối các phần tử, hãy gọi unset () trên mảng trước khi chuyển nó sang EXEC ().exec() will append to the end of the array. If you do not want the function to append elements, call unset() on the array before passing it to exec().

$command0

Nếu đối số $command0 có mặt cùng với đối số output, thì trạng thái trả về của lệnh được thực thi sẽ được ghi vào biến này.

Trả về giá trị

Dòng cuối cùng từ kết quả của lệnh. Nếu bạn cần thực thi lệnh và có tất cả dữ liệu từ lệnh được truyền trực tiếp trở lại mà không có bất kỳ nhiễu nào, hãy sử dụng hàm passthru ().passthru() function.

Trả về $command3 về thất bại.$command3 on failure.

Để có được đầu ra của lệnh thực thi, hãy chắc chắn đặt và sử dụng tham số output.

Errors/Exceptions

Phát ra một $command5 nếu Exec () không thể thực thi command.$command5 if exec() is unable to execute the command.

Ném một giá trịerror nếu command trống hoặc chứa các byte null.ValueError if command is empty or contains null bytes.

Thay đổi

Phiên bảnSự mô tả
8.0.0 EXEC (Chuỗi $command, mảng &$output = null, int &$result_code = null): Chuỗi | Saiexec() now throws a ValueError. Previously it emitted an $command5 and returned $command3.

Thông số

commandexec() example

&$output1

Lệnh sẽ được thực thi.

Returned with status 0 and output:
Array
(
    [0] => cmb
)

output

Nếu đối số output có mặt, thì mảng được chỉ định sẽ được lấp đầy bằng mọi dòng đầu ra từ lệnh. Trailing Whitespace, chẳng hạn như \n, không được bao gồm trong mảng này. Lưu ý rằng nếu mảng đã chứa một số phần tử, Exec () sẽ nối vào cuối mảng. Nếu bạn không muốn chức năng nối các phần tử, hãy gọi unset () trên mảng trước khi chuyển nó sang EXEC ().

$command0escapeshellarg() or escapeshellcmd() to ensure that users cannot trick the system into executing arbitrary commands.

Nếu đối số $command0 có mặt cùng với đối số output, thì trạng thái trả về của lệnh được thực thi sẽ được ghi vào biến này.:

Trả về giá trị

Nếu đối số $command0 có mặt cùng với đối số output, thì trạng thái trả về của lệnh được thực thi sẽ được ghi vào biến này.:

Trả về giá trịexec() will first start cmd.exe to launch the command. If you want to start an external program without starting cmd.exe use proc_open() with the &$output2 option set.

Dòng cuối cùng từ kết quả của lệnh. Nếu bạn cần thực thi lệnh và có tất cả dữ liệu từ lệnh được truyền trực tiếp trở lại mà không có bất kỳ nhiễu nào, hãy sử dụng hàm passthru ().

  • Trả về $command3 về thất bại.
  • Để có được đầu ra của lệnh thực thi, hãy chắc chắn đặt và sử dụng tham số output.
  • Phát ra một $command5 nếu Exec () không thể thực thi command.
  • Ném một giá trịerror nếu command trống hoặc chứa các byte null.
  • Thay đổi

Phiên bản

Nếu command trống hoặc chứa các byte null, exec () bây giờ ném một giá trịerror. Trước đây, nó phát ra một $command5 và trả lại $command3.

&$output3

&$output4

&$output5

Ví dụ

Ví dụ #1 ví dụ exec ()

&$output6

&$output7

&$output8

&$output9

null0

null1

null2

Ví dụ trên sẽ xuất ra một cái gì đó tương tự như:

Ghi chú

null3

null4

null5

null6

&$output5

Cảnh báo

Khi cho phép dữ liệu do người dùng cung cấp được truyền vào chức năng này, hãy sử dụng escapeshellarg () hoặc escapeshellcmd () để đảm bảo rằng người dùng không thể lừa hệ thống để thực hiện các lệnh tùy ý.

null8

null9

&$result_code0

&$output5

Ghi chú:

Nếu một chương trình được bắt đầu với chức năng này, để nó tiếp tục chạy ở chế độ nền, đầu ra của chương trình phải được chuyển hướng đến một tệp hoặc luồng đầu ra khác. Không làm như vậy sẽ khiến PHP bị treo cho đến khi việc thực hiện chương trình kết thúc.

&$result_code2

&$result_code3

&$result_code4

&$output5

Trên Windows Exec () trước tiên sẽ bắt đầu cmd.exe để khởi chạy lệnh. Nếu bạn muốn bắt đầu một chương trình bên ngoài mà không bắt đầu cmd.exe sử dụng Proc_open () với tùy chọn &$output2.

Nếu một chương trình được bắt đầu với chức năng này, để nó tiếp tục chạy ở chế độ nền, đầu ra của chương trình phải được chuyển hướng đến một tệp hoặc luồng đầu ra khác. Không làm như vậy sẽ khiến PHP bị treo cho đến khi việc thực hiện chương trình kết thúc.

&$result_code6

Trên Windows Exec () trước tiên sẽ bắt đầu cmd.exe để khởi chạy lệnh. Nếu bạn muốn bắt đầu một chương trình bên ngoài mà không bắt đầu cmd.exe sử dụng Proc_open () với tùy chọn &$output2.

Xem thêm

&$result_code7

&$result_code8

&$result_code9

&$output5

System () - Thực hiện chương trình bên ngoài và hiển thị đầu ra

passthru () - thực hiện một chương trình bên ngoài và hiển thị đầu ra thô

null1

null2

&$output5

Escapeshellcmd () - Escape Shell Metacharacters

pcntl_exec () - thực thi chương trình được chỉ định trong không gian quy trình hiện tại

null4

null5

null6

null7

null8

&$output5

toán tử backtick

Arno van den Brink ¶

command0

command1

command2

command3

command4

&$output5

14 năm trước

passthru () - thực hiện một chương trình bên ngoài và hiển thị đầu ra thô

command6

command7

command8

command9

&$output5

Escapeshellcmd () - Escape Shell Metacharacters

pcntl_exec () - thực thi chương trình được chỉ định trong không gian quy trình hiện tại

output1

output2

output3

toán tử backtick

Arno van den Brink ¶

14 năm trước

output5

output6

output7

output8

output9

output0

&$output5

dell_petter tại hotmail dot com

14 năm trước

output2

output3

output4

output5

output6

output7

&$output5

dell_petter tại hotmail dot com

13 năm trước

output9

\n0

&$output5

Simon ¶

14 năm trước

\n2

\n3

\n4

\n5

\n6

\n7

\n8

\n9

&$output5

dell_petter tại hotmail dot com

13 năm trước

$command01

$command02

&$output5

Simon ¶

Ví dụ #1 ví dụ exec ()

$command04

$command05

$command06

$command07

Ví dụ trên sẽ xuất ra một cái gì đó tương tự như:

Nếu command trống hoặc chứa các byte null, exec () bây giờ ném một giá trịerror. Trước đây, nó phát ra một $command5 và trả lại $command3.

$command08

$command09

$command10

$command11

&$output5