PHP的命令行脚本开发

原创
2016-06-13 08:55:12 706浏览

PHP的命令行脚本开发


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 Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies

查看使用帮助

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]
   php [options] -- [args...]
   php [options] -a

  -a               Run as interactive shell
  -c | 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         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 .

执行一个PHP文件

php [-f] xxx.php

可以传参数

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

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

001.php


执行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
;'

#输出
Hello World

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。