PHP的命令行脚本开发

来源:互联网 发布:php公众号自定义菜单 编辑:程序博客网 时间:2024/05/23 12:51

PHP能做什么

PHP官方文档不要脸的说PHP能做任何事,这和业界广为流传气死其他程序员不偿命的PHP是最好的语言可真是遥呼相应。

PHP主要用于以下三个领域

(1) 服务端脚本

这是最主要的领域,PHP 解析器(CGI 或者服务器模块)和web服务器(如Apache、Nginx)搭配使用。

(2) 命令行脚本

这种方式,仅仅只需要 PHP 解析器来执行。联想一下Python就会明白。

(3) 桌面应用程序

通过一些扩展库如PHP-GTK可以使用PHP编写桌面应用程序。不过这得多无聊才会去干这事。


命令行开发

以下操作是在Mac下进行

进入php目录,或将php目录放到环境变量中。(Mac忽略这一步)

查看PHP引擎

php -v# 输出PHP 5.5.27 (cli) (built: Jul 23 2015 00:21:59) Copyright (c) 1997-2015 The PHP GroupZend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies

查看使用帮助

php -h# 输出Usage: php [options] [-f] <file> [--] [args...]   php [options] -r <code> [--] [args...]   php [options] [-B <begin_code>] -R <code> [-E <end_code>] [--] [args...]   php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...]   php [options] -S <addr>:<port> [-t docroot]   php [options] -- [args...]   php [options] -a  -a               Run as interactive shell  -c <path>|<file> Look for php.ini file in this directory  -n               No php.ini file will be used  -d foo[=bar]     Define INI entry foo with value 'bar'  -e               Generate extended information for debugger/profiler  -f <file>        Parse and execute <file>.  -h               This help  -i               PHP information  -l               Syntax check only (lint)  -m               Show compiled in modules  -r <code>        Run PHP <code> without using script tags <?..?>  -B <begin_code>  Run PHP <begin_code> before processing input lines  -R <code>        Run PHP <code> for every input line  -F <file>        Parse and execute <file> for every input line  -E <end_code>    Run PHP <end_code> after processing all input lines  -H               Hide any passed arguments from external tools.  -S <addr>:<port> Run with built-in web server.  -t <docroot>     Specify document root <docroot> for built-in web server.  -s               Output HTML syntax highlighted source.  -v               Version number  -w               Output source with stripped comments and whitespace.  -z <file>        Load Zend extension <file>.  args...          Arguments passed to script. Use -- args when first argument                   starts with - or script is read from stdin  --ini            Show configuration file names  --rf <name>      Show information about function <name>.  --rc <name>      Show information about class <name>.  --re <name>      Show information about extension <name>.  --rz <name>      Show information about Zend extension <name>.  --ri <name>      Show configuration for extension <name>.

执行一个PHP文件

php [-f] xxx.php

使用或不使用-f参数都能够运行给定的 php 文件。

可以传参数

php [-f] xxx.php 'hello' 'world' 2015

传递给脚本的参数可在全局变量$argv中获取,全局变量$argc存有$argv数组中成员变量的个数(而非传送给脚本程序的参数的个数,因为$argv第一个元素是执行的 php 页面)

001.php

<?phpvar_dump($argc);echo "\n";var_dump($argv);?>

执行001.php

php 001.php 'hello world' 2015

输出

int(3)array(3) {  [0]=>  string(7) "001.php"  [1]=>  string(11) "hello world"  [2]=>  string(4) "2015"}

也可以直接运行 PHP 代码

php -r 'echo "Hello World\n";'#输出Hello World

当然,PHP的命令行开发不仅以上这些内容,这里可以查看更多http://php.net/manual/zh/features.commandline.php


0 0
原创粉丝点击