详解php命令行写shell实例

php 可以像java perl python 那样运行,今天发现如果我早早知道这个,或许我不会去学习java 和 python,当年学java不过为了一个程序放在服务器上,不停的跑啊跑,原来 php 也可以。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
php -h
  
Usage: php [options] [-f]  [--] [args...]
  
 php [options] -r  [--] [args...]
  
 php [options] [-B ] -R  [-E ] [--] [args...]
  
 php [options] [-B ] -F  [-E ] [--] [args...]
  
 php [options] -S : [-t docroot] [router]
  
 php [options] -- [args...]
  
 php [options] -a
  
 -a    Run as interactive shell
  
 -c | Look for php.ini file in this directory
  
 -n    No configuration (ini) files will be used
  
 -d foo[=bar]  Define INI entry foo with value 'bar'
  
 -e    Generate extended information for debugger/profiler
  
 -f   Parse and execute .
  
 -h    This help
  
 -i    PHP information
  
 -l    Syntax check only (lint)
  
 -m    Show compiled in modules
  
 -r   Run PHP  without using script tags 
  
 -B  Run PHP  before processing input lines
  
 -R   Run PHP  for every input line
  
 -F   Parse and execute  for every input line
  
 -E  Run PHP  after processing all input lines
  
 -H    Hide any passed arguments from external tools.
  
 -S : Run with built-in web server.
  
 -t   Specify document root  for built-in web server.
  
 -s    Output HTML syntax highlighted source.
  
 -v    Version number
  
 -w    Output source with stripped comments and whitespace.
  
 -z   Load Zend extension .
  
 args...   Arguments passed to script. Use -- args when first argument
  
     starts with - or script is read from stdin
  
 --ini   Show configuration file names
  
 --rf   Show information about function .
  
 --rc   Show information about class .
  
 --re   Show information about extension .
  
 --rz   Show information about Zend extension .
  
 --ri   Show configuration for extension .

  

1.用php命令行的方式执行php脚本,例如/usr/bin/php test.php

缩写 php test.php

test.php

1
2
3
4
5
6
7
8
9
for($i=0;$i<10;$i++){
  
 echo $i;
  
 echo '\n';
  
}
  
?>

  2.脚本开头第一行写上#!/usr/bin/php,然后可以把脚本设为可执行 chmod a+x test.php,之后就可以用命令行的方式直接执行脚本了,例如./test.php

1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/php
  
  
for($i=0;$i<10;$i++){
  
 echo $i;
  
 echo " java-er.com \n";
  
}
  
?>

  执行一小时,看看php会不会挂,我希望一个命令行可以跑到天荒地老

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/php
  
for($i=0;$i<360;$i++){
  
 echo $i;
  
 sleep(10);
  
 echo " java-er.com \n";
  
}
  
?>

  3. 外部传入参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/usr/bin/php
  
  
 var_dump($argc); //返回参数总个数
  
 var_dump($argv);
  
    
  
exit;
  
?>
  
./test.php
  
  
  
int(1)
  
array(1) {
  
 [0]=>
  
 string(10) "./test.php"
  
}
  
./test.php a java php
  
  
  
int(4)
  
array(4) {
  
 [0]=>
  
 string(10) "./test.php"
  
 [1]=>
  
 string(1) "a"
  
 [2]=>
  
 string(4) "java"
  
 [3]=>
  
 string(3) "php"
  
}

  

posted @   MRtanchen  阅读(52)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2022-02-24 Failed to open log (file './mysql-bin.000232', errno 2)
点击右上角即可分享
微信分享提示