PHP 是為開發 Web 應用而創建,不過它的命令行腳本接口(CLI)也非常有用。PHP 命令行編程可以幫你完成自動化的任務,如測試,部署和應用管理。
CLI PHP 編程非常強大,可以直接調用你自己的程序代碼而無需創建 Web 圖形界面,需要注意的是不要把 CLI PHP 腳本放在公開的 web 目錄下!
在命令行下運行 PHP :
~~~
> php -i
~~~
選項 -i 將會打印 PHP 配置,類似于 [phpinfo()](http://php.net/function.phpinfo) 函數。
選項 -a 提供交互式 shell,和 Ruby 的 IRB 或 python 的交互式 shell 相似,此外還有很多其他有用的[命令行選項](http://php.net/features.commandline.options)。
接下來寫一個簡單的 “Hello, $name” CLI 程序,先創建名為 `hello.php `的腳本:
~~~
<?php
if($argc != 2) {
echo "Usage: php hello.php [name].\n";
exit(1);
}
$name = $argv[1];
echo "Hello, $name\n";
~~~
PHP 會在腳本運行時根據參數設置兩個特殊的變量,[$argc](http://php.net/reserved.variables.argc) 是一個整數,表示參數個數,[$argv](http://php.net/reserved.variables.argv) 是一個數組變量,包含每個參數的值, 它的第一個元素一直是 PHP 腳本的名稱,如本例中為 `hello.php`。
命令運行失敗時,可以通過 `exit()` 表達式返回一個非 0 整數來通知 shell,常用的 exit 返回碼可以查看[列表](http://www.gsp.com/cgi-bin/man.cgi?section=3&topic=sysexits)。
運行上面的腳本,在命令行輸入:
~~~
> php hello.php
Usage: php hello.php [name]
> php hello.php world
Hello, world
~~~
* [學習如何在命令行運行 PHP](http://php.net/features.commandline)
* [學習如何在 Windows 環境下運行 PHP 命令行程序](http://php.net/install.windows.commandline)
- 歡迎
- 入門指南
- 使用當前穩定版本
- 內置的WEB服務器
- Mac安裝
- Windows安裝
- 代碼風格指南
- 語言亮點
- 編程范式
- 命名空間
- PHP標準庫
- 命令行接口
- Xdebug
- 依賴管理
- Composer 與 Packagist
- PEAR
- 開發實踐
- 基礎知識
- 日期和時間
- 設計模式
- 使用UTF8編碼
- 依賴注入
- 基本概念
- 復雜的問題
- 容器
- 延伸閱讀
- 數據庫
- MYSQL 擴展
- PDO 擴展
- 數據庫交互
- 數據庫抽象層
- 使用模板
- 好處
- 原生PHP模板
- 編譯模板
- 延伸閱讀
- 錯誤與異常
- 錯誤
- 異常
- 安全
- Web應用程序安全
- 密碼哈希
- 數據過濾
- 配置文件
- 注冊全局變量
- 錯誤報告
- 測試
- 測試驅動開發
- 行為驅動開發
- 其他測試工具
- 服務器與部署
- Platform as a Service (PaaS)
- 虛擬或專用服務器
- 共享服務器
- 構建及部署應用
- 虛擬化
- Vagrant
- Docker
- 緩存
- Opcode緩存
- 對象緩存
- 文檔撰寫
- 資源
- 社區
- Credits