PHP 語法簡單、功能豐富(字串、資料庫、網路、圖形處理),且編譯為獨立執行檔後,可脫離 Apache 直接在命令列執行,適合系統管理、資料處理等自動化腳本。
tar zxvf php-3.0.xx.tar.gz
cd php
./configure
make
# 產出 php 執行檔,複製至 /usr/local/bin
strip php # 精簡體積
#!/usr/local/bin/php -q
<?php
echo "Hello, world!\n";
?>
-q:抑制 HTTP Header 輸出(Shell 模式必加)。chmod +x filename 賦予執行權限。$argc:參數個數(含腳本名稱)。$argv[]:參數陣列($argv[0] 為腳本名)。<?php
$sum = 0;
for ($i = 1; $i < $argc; $i++) $sum += $argv[$i];
echo $sum;
?>
執行 ./sum.php 1 2 3 輸出 6。
Linux/Unix 視 stdin 為裝置檔 /dev/stdin,可用檔案函數讀取:
<?php
$fp = fopen('/dev/stdin', 'r');
$input = fgets($fp, 100);
fclose($fp);
echo "-------------------------\n$input";
?>
<?php
$fp = fopen('/dev/stdin', 'r');
while (!feof($fp)) {
$c = fgetc($fp);
$input .= $c;
}
fclose($fp);
// 過濾 HTML 標籤
$input = ereg_replace('<[^>]*>', '', $input);
echo $input;
?>
用法:more script.php | ./filter.php,將程式碼本身透過管線傳入並過濾標籤後輸出。