Home  >  Article  >  php教程  >  PHP的命令行脚本开发

PHP的命令行脚本开发

WBOY
WBOYOriginal
2016-06-13 08:55:12977browse

PHP的命令行脚本开发

PHP能做什么

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

PHP主要用于以下三个领域

(1) 服务端脚本

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

(2) 命令行脚本

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

(3) 桌面应用程序

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


命令行开发

以下操作是在Mac下进行

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

查看PHP引擎

<code>php -v

# 输出
PHP 5.5.27 (cli) (built: Jul 23 2015 00:21:59) 
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
</code>

查看使用帮助

<code>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 :<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 &#39;bar&#39;
  -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 :<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>.
</name></name></name></name></name></name></name></name></name></name></file></file></docroot></docroot></port></addr></end_code></end_code></file></file></code></code></begin_code></begin_code></code></code></file></file></file></path></port></addr></end_code></file></begin_code></end_code></code></begin_code></code></file></code>

<code>执行一个PHP文件

<code><code><code>php [-f] xxx.php
</code></code></code>

<code>可以传参数

<code><code><code>php [-f] xxx.php &#39;hello&#39; &#39;world&#39; 2015
</code></code></code>

<code>传递给脚本的参数可在全局变量<code>$argv中获取,全局变量$argc存有$argv数组中成员变量的个数(而非传送给脚本程序的参数的个数)

<code>001.php

<code><code><code><!--?php

var_dump($argc);

echo 
;

var_dump($argv);

?-->
</code></code></code>

<code>执行001.php

<code><code><code>php 001.php &#39;hello world&#39; 2015
</code></code></code>

<code>输出

<code><code><code>int(3)

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

<code>也可以直接运行 PHP 代码

<code><code><code>php -r &#39;echo Hello World
;&#39;

#输出
Hello World
</code></code></code>

 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn