详解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" } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
2022-02-24 Failed to open log (file './mysql-bin.000232', errno 2)