Hướng dẫn what can be php used for command line? - php có thể được sử dụng cho dòng lệnh là gì?

16 tháng 9 tại PSU DOT EDU ¶

10 năm trước

You can easily parse command line arguments into the $_GET variable by using the parse_str() function.

parse_str

(implode('&', array_slice($argv, 1)), $_GET);?>

It behaves exactly like you'd expect with cgi-php.

$ php -f somefile.php a=1 b[]=2 b[]=3

This will set $_GET['a'] to '1' and $_GET['b'] to array('2', '3').

Even better, instead of putting that line in every file, take advantage of PHP's auto_prepend_file directive.  Put that line in its own file and set the auto_prepend_file directive in your cli-specific php.ini like so:

auto_prepend_file = "/etc/php/cli-php5.3/local.prepend.php"

It will be automatically prepended to any PHP file run from the command line.

Ẩn danh ¶

1 năm trước

We can pass many arguments directly into the hashbang line.
As example many ini setting via the -d parameter of php.
---
#!/usr/bin/php -d memory_limit=2048M -d post_max_size=0
phpinfo();
exit;
---
./script | grep memory
memory_limit => 2048M => 2048M
---
But we can also use this behaviour into a second script, so it call the first as an interpreter, via the hashbang:
---
#!./script arg1 arg2 arg3
---
However the parameters are dispatched in a different way into $argv

All the parameters are in $argv[1], $argv[0] is the interpreter script name, and $argv[1] is the caller script name.

To get back the parameters into $argv, we can simply test if $argv[1] contains spaces, and then dispatch again as normal:

#!/usr/bin/php -d memory_limit=2048M -d post_max_size=0
var_dump($argv);
if (
strpos($argv[1], ' ') !== false){
 
$argw = explode(" ", $argv[1]);
 
array_unshift($argw, $argv[2]);
 
$argv = $argw;
}
var_dump($argv); ?>
---
array(3) {
  [0]=>
  string(8) "./script"
  [1]=>
  string(15) "arg1 arg2 arg3 "
  [2]=>
  string(14) "./other_script"
}
array(4) {
  [0]=>
  string(8) "./other_script"
  [1]=>
  string(4) "arg1"
  [2]=>
  string(4) "arg2"
  [3]=>
  string(4) "arg3"
}
---
This will maintain the same behaviour in all cases and allow to even double click a script to call both parameters of another script, and even make a full interpreter language layer.  The other script doesn't has to be php. Take care of paths.

Apmuthu tại USA DOT NET

4 năm trước

Adding a pause() function to PHP waiting for any user input returning it:

0

Drewish tại Kindahouse dot com ¶

17 năm trước

2

3

4

Franknospamwanted tại. Toppoint Dot. de ¶

8 năm trước

6

7

8

9

Lucas Dot Vasconcelos tại Gmail Dot Com ¶

15 năm trước

parse_str1

parse_str2

parse_str3

Monte at ispi dot net ¶

19 năm trước

parse_str5

parse_str6

OHCC tại 163 dot com ¶

6 năm trước

parse_str8

parse_str9

(implode('&', array_slice($argv, 1)), $_GET);?>

It behaves exactly like you'd expect with cgi-php.

$ php -f somefile.php a=1 b[]=2 b[]=3

This will set $_GET['a'] to '1' and $_GET['b'] to array('2', '3').

Even better, instead of putting that line in every file, take advantage of PHP's auto_prepend_file directive.  Put that line in its own file and set the auto_prepend_file directive in your cli-specific php.ini like so:

auto_prepend_file = "/etc/php/cli-php5.3/local.prepend.php"

It will be automatically prepended to any PHP file run from the command line.

0

notrealllyanaddress tại Somerandomaddr dot com ¶

12 năm trước

(implode('&', array_slice($argv, 1)), $_GET);?>

It behaves exactly like you'd expect with cgi-php.

$ php -f somefile.php a=1 b[]=2 b[]=3

This will set $_GET['a'] to '1' and $_GET['b'] to array('2', '3').

Even better, instead of putting that line in every file, take advantage of PHP's auto_prepend_file directive.  Put that line in its own file and set the auto_prepend_file directive in your cli-specific php.ini like so:

auto_prepend_file = "/etc/php/cli-php5.3/local.prepend.php"

It will be automatically prepended to any PHP file run from the command line.

2

(implode('&', array_slice($argv, 1)), $_GET);?>

It behaves exactly like you'd expect with cgi-php.

$ php -f somefile.php a=1 b[]=2 b[]=3

This will set $_GET['a'] to '1' and $_GET['b'] to array('2', '3').

Even better, instead of putting that line in every file, take advantage of PHP's auto_prepend_file directive.  Put that line in its own file and set the auto_prepend_file directive in your cli-specific php.ini like so:

auto_prepend_file = "/etc/php/cli-php5.3/local.prepend.php"

It will be automatically prepended to any PHP file run from the command line.

3

Sam Marshall ¶

3 năm trước

(implode('&', array_slice($argv, 1)), $_GET);?>

It behaves exactly like you'd expect with cgi-php.

$ php -f somefile.php a=1 b[]=2 b[]=3

This will set $_GET['a'] to '1' and $_GET['b'] to array('2', '3').

Even better, instead of putting that line in every file, take advantage of PHP's auto_prepend_file directive.  Put that line in its own file and set the auto_prepend_file directive in your cli-specific php.ini like so:

auto_prepend_file = "/etc/php/cli-php5.3/local.prepend.php"

It will be automatically prepended to any PHP file run from the command line.

5

(implode('&', array_slice($argv, 1)), $_GET);?>

It behaves exactly like you'd expect with cgi-php.

$ php -f somefile.php a=1 b[]=2 b[]=3

This will set $_GET['a'] to '1' and $_GET['b'] to array('2', '3').

Even better, instead of putting that line in every file, take advantage of PHP's auto_prepend_file directive.  Put that line in its own file and set the auto_prepend_file directive in your cli-specific php.ini like so:

auto_prepend_file = "/etc/php/cli-php5.3/local.prepend.php"

It will be automatically prepended to any PHP file run from the command line.

6

(implode('&', array_slice($argv, 1)), $_GET);?>

It behaves exactly like you'd expect with cgi-php.

$ php -f somefile.php a=1 b[]=2 b[]=3

This will set $_GET['a'] to '1' and $_GET['b'] to array('2', '3').

Even better, instead of putting that line in every file, take advantage of PHP's auto_prepend_file directive.  Put that line in its own file and set the auto_prepend_file directive in your cli-specific php.ini like so:

auto_prepend_file = "/etc/php/cli-php5.3/local.prepend.php"

It will be automatically prepended to any PHP file run from the command line.

7

(implode('&', array_slice($argv, 1)), $_GET);?>

It behaves exactly like you'd expect with cgi-php.

$ php -f somefile.php a=1 b[]=2 b[]=3

This will set $_GET['a'] to '1' and $_GET['b'] to array('2', '3').

Even better, instead of putting that line in every file, take advantage of PHP's auto_prepend_file directive.  Put that line in its own file and set the auto_prepend_file directive in your cli-specific php.ini like so:

auto_prepend_file = "/etc/php/cli-php5.3/local.prepend.php"

It will be automatically prepended to any PHP file run from the command line.

8

Psikyo tại mail dot dlut dot edu dot cn ¶

9 năm trước

We can pass many arguments directly into the hashbang line.
As example many ini setting via the -d parameter of php.
---
#!/usr/bin/php -d memory_limit=2048M -d post_max_size=0
phpinfo();
exit;
---
./script | grep memory
memory_limit => 2048M => 2048M
---
But we can also use this behaviour into a second script, so it call the first as an interpreter, via the hashbang:
---
#!./script arg1 arg2 arg3
---
However the parameters are dispatched in a different way into $argv
0

We can pass many arguments directly into the hashbang line.
As example many ini setting via the -d parameter of php.
---
#!/usr/bin/php -d memory_limit=2048M -d post_max_size=0
phpinfo();
exit;
---
./script | grep memory
memory_limit => 2048M => 2048M
---
But we can also use this behaviour into a second script, so it call the first as an interpreter, via the hashbang:
---
#!./script arg1 arg2 arg3
---
However the parameters are dispatched in a different way into $argv
1

We can pass many arguments directly into the hashbang line.
As example many ini setting via the -d parameter of php.
---
#!/usr/bin/php -d memory_limit=2048M -d post_max_size=0
phpinfo();
exit;
---
./script | grep memory
memory_limit => 2048M => 2048M
---
But we can also use this behaviour into a second script, so it call the first as an interpreter, via the hashbang:
---
#!./script arg1 arg2 arg3
---
However the parameters are dispatched in a different way into $argv
2

ben tại slax0rnet dot com

18 năm trước

We can pass many arguments directly into the hashbang line.
As example many ini setting via the -d parameter of php.
---
#!/usr/bin/php -d memory_limit=2048M -d post_max_size=0
phpinfo();
exit;
---
./script | grep memory
memory_limit => 2048M => 2048M
---
But we can also use this behaviour into a second script, so it call the first as an interpreter, via the hashbang:
---
#!./script arg1 arg2 arg3
---
However the parameters are dispatched in a different way into $argv
4

We can pass many arguments directly into the hashbang line.
As example many ini setting via the -d parameter of php.
---
#!/usr/bin/php -d memory_limit=2048M -d post_max_size=0
phpinfo();
exit;
---
./script | grep memory
memory_limit => 2048M => 2048M
---
But we can also use this behaviour into a second script, so it call the first as an interpreter, via the hashbang:
---
#!./script arg1 arg2 arg3
---
However the parameters are dispatched in a different way into $argv
5

We can pass many arguments directly into the hashbang line.
As example many ini setting via the -d parameter of php.
---
#!/usr/bin/php -d memory_limit=2048M -d post_max_size=0
phpinfo();
exit;
---
./script | grep memory
memory_limit => 2048M => 2048M
---
But we can also use this behaviour into a second script, so it call the first as an interpreter, via the hashbang:
---
#!./script arg1 arg2 arg3
---
However the parameters are dispatched in a different way into $argv
6

We can pass many arguments directly into the hashbang line.
As example many ini setting via the -d parameter of php.
---
#!/usr/bin/php -d memory_limit=2048M -d post_max_size=0
phpinfo();
exit;
---
./script | grep memory
memory_limit => 2048M => 2048M
---
But we can also use this behaviour into a second script, so it call the first as an interpreter, via the hashbang:
---
#!./script arg1 arg2 arg3
---
However the parameters are dispatched in a different way into $argv
7

We can pass many arguments directly into the hashbang line.
As example many ini setting via the -d parameter of php.
---
#!/usr/bin/php -d memory_limit=2048M -d post_max_size=0
phpinfo();
exit;
---
./script | grep memory
memory_limit => 2048M => 2048M
---
But we can also use this behaviour into a second script, so it call the first as an interpreter, via the hashbang:
---
#!./script arg1 arg2 arg3
---
However the parameters are dispatched in a different way into $argv
8

Kodeart ¶

11 năm trước

All the parameters are in $argv[1], $argv[0] is the interpreter script name, and $argv[1] is the caller script name.0

Overflow636 tại Gmail Dot Com ¶

17 năm trước

All the parameters are in $argv[1], $argv[0] is the interpreter script name, and $argv[1] is the caller script name.1

Franknospamwanted tại. Toppoint Dot. de ¶

8 năm trước

All the parameters are in $argv[1], $argv[0] is the interpreter script name, and $argv[1] is the caller script name.2

All the parameters are in $argv[1], $argv[0] is the interpreter script name, and $argv[1] is the caller script name.3

All the parameters are in $argv[1], $argv[0] is the interpreter script name, and $argv[1] is the caller script name.4

All the parameters are in $argv[1], $argv[0] is the interpreter script name, and $argv[1] is the caller script name.5

All the parameters are in $argv[1], $argv[0] is the interpreter script name, and $argv[1] is the caller script name.6

All the parameters are in $argv[1], $argv[0] is the interpreter script name, and $argv[1] is the caller script name.7

Ẩn danh ¶

12 năm trước

All the parameters are in $argv[1], $argv[0] is the interpreter script name, and $argv[1] is the caller script name.8

Sam Marshall ¶

15 năm trước

All the parameters are in $argv[1], $argv[0] is the interpreter script name, and $argv[1] is the caller script name.9

Monte at ispi dot net ¶

17 năm trước

To get back the parameters into $argv, we can simply test if $argv[1] contains spaces, and then dispatch again as normal: 0

To get back the parameters into $argv, we can simply test if $argv[1] contains spaces, and then dispatch again as normal: 1

To get back the parameters into $argv, we can simply test if $argv[1] contains spaces, and then dispatch again as normal: 2

To get back the parameters into $argv, we can simply test if $argv[1] contains spaces, and then dispatch again as normal: 3

To get back the parameters into $argv, we can simply test if $argv[1] contains spaces, and then dispatch again as normal: 4

To get back the parameters into $argv, we can simply test if $argv[1] contains spaces, and then dispatch again as normal: 5

To get back the parameters into $argv, we can simply test if $argv[1] contains spaces, and then dispatch again as normal: 6

Franknospamwanted tại. Toppoint Dot. de ¶

8 năm trước

To get back the parameters into $argv, we can simply test if $argv[1] contains spaces, and then dispatch again as normal: 8

To get back the parameters into $argv, we can simply test if $argv[1] contains spaces, and then dispatch again as normal: 9

#!/usr/bin/php -d memory_limit=2048M -d post_max_size=0
var_dump($argv);
if (
strpos($argv[1], ' ') !== false){
 
$argw = explode(" ", $argv[1]);
 
array_unshift($argw, $argv[2]);
 
$argv = $argw;
}
var_dump($argv); ?>
---
array(3) {
  [0]=>
  string(8) "./script"
  [1]=>
  string(15) "arg1 arg2 arg3 "
  [2]=>
  string(14) "./other_script"
}
array(4) {
  [0]=>
  string(8) "./other_script"
  [1]=>
  string(4) "arg1"
  [2]=>
  string(4) "arg2"
  [3]=>
  string(4) "arg3"
}
---
This will maintain the same behaviour in all cases and allow to even double click a script to call both parameters of another script, and even make a full interpreter language layer.  The other script doesn't has to be php. Take care of paths.
0

#!/usr/bin/php -d memory_limit=2048M -d post_max_size=0
var_dump($argv);
if (
strpos($argv[1], ' ') !== false){
 
$argw = explode(" ", $argv[1]);
 
array_unshift($argw, $argv[2]);
 
$argv = $argw;
}
var_dump($argv); ?>
---
array(3) {
  [0]=>
  string(8) "./script"
  [1]=>
  string(15) "arg1 arg2 arg3 "
  [2]=>
  string(14) "./other_script"
}
array(4) {
  [0]=>
  string(8) "./other_script"
  [1]=>
  string(4) "arg1"
  [2]=>
  string(4) "arg2"
  [3]=>
  string(4) "arg3"
}
---
This will maintain the same behaviour in all cases and allow to even double click a script to call both parameters of another script, and even make a full interpreter language layer.  The other script doesn't has to be php. Take care of paths.
1

Lucas Dot Vasconcelos tại Gmail Dot Com ¶

8 năm trước

#!/usr/bin/php -d memory_limit=2048M -d post_max_size=0
var_dump($argv);
if (
strpos($argv[1], ' ') !== false){
 
$argw = explode(" ", $argv[1]);
 
array_unshift($argw, $argv[2]);
 
$argv = $argw;
}
var_dump($argv); ?>
---
array(3) {
  [0]=>
  string(8) "./script"
  [1]=>
  string(15) "arg1 arg2 arg3 "
  [2]=>
  string(14) "./other_script"
}
array(4) {
  [0]=>
  string(8) "./other_script"
  [1]=>
  string(4) "arg1"
  [2]=>
  string(4) "arg2"
  [3]=>
  string(4) "arg3"
}
---
This will maintain the same behaviour in all cases and allow to even double click a script to call both parameters of another script, and even make a full interpreter language layer.  The other script doesn't has to be php. Take care of paths.
3

#!/usr/bin/php -d memory_limit=2048M -d post_max_size=0
var_dump($argv);
if (
strpos($argv[1], ' ') !== false){
 
$argw = explode(" ", $argv[1]);
 
array_unshift($argw, $argv[2]);
 
$argv = $argw;
}
var_dump($argv); ?>
---
array(3) {
  [0]=>
  string(8) "./script"
  [1]=>
  string(15) "arg1 arg2 arg3 "
  [2]=>
  string(14) "./other_script"
}
array(4) {
  [0]=>
  string(8) "./other_script"
  [1]=>
  string(4) "arg1"
  [2]=>
  string(4) "arg2"
  [3]=>
  string(4) "arg3"
}
---
This will maintain the same behaviour in all cases and allow to even double click a script to call both parameters of another script, and even make a full interpreter language layer.  The other script doesn't has to be php. Take care of paths.
4

Lucas Dot Vasconcelos tại Gmail Dot Com ¶

15 năm trước

#!/usr/bin/php -d memory_limit=2048M -d post_max_size=0
var_dump($argv);
if (
strpos($argv[1], ' ') !== false){
 
$argw = explode(" ", $argv[1]);
 
array_unshift($argw, $argv[2]);
 
$argv = $argw;
}
var_dump($argv); ?>
---
array(3) {
  [0]=>
  string(8) "./script"
  [1]=>
  string(15) "arg1 arg2 arg3 "
  [2]=>
  string(14) "./other_script"
}
array(4) {
  [0]=>
  string(8) "./other_script"
  [1]=>
  string(4) "arg1"
  [2]=>
  string(4) "arg2"
  [3]=>
  string(4) "arg3"
}
---
This will maintain the same behaviour in all cases and allow to even double click a script to call both parameters of another script, and even make a full interpreter language layer.  The other script doesn't has to be php. Take care of paths.
6

#!/usr/bin/php -d memory_limit=2048M -d post_max_size=0
var_dump($argv);
if (
strpos($argv[1], ' ') !== false){
 
$argw = explode(" ", $argv[1]);
 
array_unshift($argw, $argv[2]);
 
$argv = $argw;
}
var_dump($argv); ?>
---
array(3) {
  [0]=>
  string(8) "./script"
  [1]=>
  string(15) "arg1 arg2 arg3 "
  [2]=>
  string(14) "./other_script"
}
array(4) {
  [0]=>
  string(8) "./other_script"
  [1]=>
  string(4) "arg1"
  [2]=>
  string(4) "arg2"
  [3]=>
  string(4) "arg3"
}
---
This will maintain the same behaviour in all cases and allow to even double click a script to call both parameters of another script, and even make a full interpreter language layer.  The other script doesn't has to be php. Take care of paths.
7

#!/usr/bin/php -d memory_limit=2048M -d post_max_size=0
var_dump($argv);
if (
strpos($argv[1], ' ') !== false){
 
$argw = explode(" ", $argv[1]);
 
array_unshift($argw, $argv[2]);
 
$argv = $argw;
}
var_dump($argv); ?>
---
array(3) {
  [0]=>
  string(8) "./script"
  [1]=>
  string(15) "arg1 arg2 arg3 "
  [2]=>
  string(14) "./other_script"
}
array(4) {
  [0]=>
  string(8) "./other_script"
  [1]=>
  string(4) "arg1"
  [2]=>
  string(4) "arg2"
  [3]=>
  string(4) "arg3"
}
---
This will maintain the same behaviour in all cases and allow to even double click a script to call both parameters of another script, and even make a full interpreter language layer.  The other script doesn't has to be php. Take care of paths.
8

Monte at ispi dot net ¶

19 năm trước

#!/usr/bin/php -d memory_limit=2048M -d post_max_size=0
var_dump($argv);
if (
strpos($argv[1], ' ') !== false){
 
$argw = explode(" ", $argv[1]);
 
array_unshift($argw, $argv[2]);
 
$argv = $argw;
}
var_dump($argv); ?>
---
array(3) {
  [0]=>
  string(8) "./script"
  [1]=>
  string(15) "arg1 arg2 arg3 "
  [2]=>
  string(14) "./other_script"
}
array(4) {
  [0]=>
  string(8) "./other_script"
  [1]=>
  string(4) "arg1"
  [2]=>
  string(4) "arg2"
  [3]=>
  string(4) "arg3"
}
---
This will maintain the same behaviour in all cases and allow to even double click a script to call both parameters of another script, and even make a full interpreter language layer.  The other script doesn't has to be php. Take care of paths.
9

0

1

2

OHCC tại 163 dot com ¶

15 năm trước

4

5

6

7

Monte at ispi dot net ¶

19 năm trước

8

9

Adding a pause() function to PHP waiting for any user input returning it:0

Adding a pause() function to PHP waiting for any user input returning it:1

OHCC tại 163 dot com ¶

15 năm trước

Adding a pause() function to PHP waiting for any user input returning it:3

Adding a pause() function to PHP waiting for any user input returning it:4

Adding a pause() function to PHP waiting for any user input returning it:5

Adding a pause() function to PHP waiting for any user input returning it:6

Monte at ispi dot net ¶

18 năm trước

Adding a pause() function to PHP waiting for any user input returning it:8

Adding a pause() function to PHP waiting for any user input returning it:9

Kodeart ¶

17 năm trước

01

02

03

04

05

06

07

08

09

10

11

Franknospamwanted tại. Toppoint Dot. de ¶

8 năm trước

13

Lucas Dot Vasconcelos tại Gmail Dot Com ¶

19 năm trước

14

15

16

17

18

OHCC tại 163 dot com ¶

19 năm trước

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

OHCC tại 163 dot com ¶

19 năm trước

37

38

39

40

OHCC tại 163 dot com ¶

17 năm trước

42

43

44

45

46

47

48

Franknospamwanted tại. Toppoint Dot. de ¶

15 năm trước

50

51

Monte at ispi dot net ¶

15 năm trước

53

Những gì có thể được sử dụng PHP cho các ứng dụng dòng lệnh?

Tính đến phiên bản 4.3. 0, PHP hỗ trợ loại SAPI mới (Giao diện lập trình ứng dụng máy chủ) có tên CLI có nghĩa là giao diện dòng lệnh. Đúng như tên gọi, trọng tâm chính của loại SAPI này là phát triển các ứng dụng Shell (hoặc máy tính để bàn) với PHP.CLI which means Command Line Interface. As the name implies, this SAPI type main focus is on developing shell (or desktop as well) applications with PHP.

Bạn có thể chạy PHP trên dòng lệnh không?

Sau khi cài đặt PHP, chúng tôi đã sẵn sàng để chạy mã PHP thông qua dòng lệnh.Bạn chỉ cần làm theo các bước để chạy chương trình PHP bằng dòng lệnh.Mở cửa sổ thiết bị đầu cuối hoặc dòng lệnh.GOTO Thư mục hoặc thư mục được chỉ định nơi có các tệp PHP.Open terminal or command line window. Goto the specified folder or directory where php files are present.

Dòng lệnh PHP là gì?

Giao diện dòng lệnh của PHP (CLI) cho phép bạn thực thi các tập lệnh PHP khi đăng nhập vào máy chủ của bạn thông qua SSH.ServerPilot cài đặt nhiều phiên bản PHP trên máy chủ của bạn để có nhiều tệp thực thi PHP có sẵn để chạy.allows you to execute PHP scripts when logged in to your server through SSH. ServerPilot installs multiple versions of PHP on your server so there are multiple PHP executables available to run.

PHP được sử dụng cho trong Linux là gì?

PHP là một ngôn ngữ kịch bản đa năng phù hợp để phát triển web.Các tập lệnh PHP có thể được nhúng vào HTML.Phần này giải thích cách cài đặt và định cấu hình PHP trong hệ thống Ubuntu với Apache2 và MySQL.Web development. PHP scripts can be embedded into HTML. This section explains how to install and configure PHP in an Ubuntu System with Apache2 and MySQL.