PHP 程式設計/PHP CLI
外觀
< PHP 程式設計
與普遍的看法相反,PHP 不僅僅是一種 Web 伺服器語言。PHP 也可以用於建立普通程式。PHP 可用於建立 GUI 應用程式、shell 指令碼,甚至守護程序等等。
好處是,所有(或大多數)常用的 PHP 庫也適用於您的 PHP CLI 程式。MySQL、XML 等。所有(或大部分)仍然可用。
下面是一個示例 PHP-CLI 程式
<?php print('Hello World'); ?>
如果我們將此儲存為“helloworld.php”,那麼我們將透過以下命令執行此 PHP CLI 程式
php helloworld.php
這將產生以下輸出
Hello World
伺服器端 PHP 和 PHP CLI 之間存在一些重要區別。以下列出了這些區別
- 沒有
$_GET超級全域性陣列。 - 沒有
$_POST超級全域性陣列。 - 沒有
$_COOKIE超級全域性陣列。 - 當您執行列印操作時,輸出將傳送到標準輸出,而不是 Web 瀏覽器。
- 您可以透過
$argv變數獲取命令列引數。 - 您可以透過
$argc變數獲取命令列引數的數量。
與許多程式一樣,有必要訪問用於呼叫程式的命令列變數。要在 PHP 中執行此操作,我們有兩個變數
在 php.ini 檔案中使用 register_globals = on; 時,您可以使用
$argv$argc
在 php.ini 檔案中使用 register_globals = off; 時,您可以使用
$_SERVER['argv']$_SERVER['argc']
(對於那些瞭解 Bash、C 或 C++ 程式語言的人來說,他們會發現這兩對變數非常熟悉)
下面是一個使用 $argc 和 $argv 變數的程式
<?php
print('ARGC = ' . $argc ."\n\n");
foreach ($argv as $k=>$v) {
print("ARGV[$k] = $v\n");
}
?>
<?php
print('ARGC = ' . $_SERVER['argc'] ."\n\n");
foreach ($_SERVER['argv'] as $k => $v) {
print("ARGV[$k] = $v\n");
}
?>
如果我們將此 PHP 程式儲存為“test1.php”,並使用以下命令執行它
php test1.php apple orange banana pineapple
那麼我們會得到
ARGC = 5 ARGV[0] = test1.php ARGV[1] = apple ARGV[2] = orange ARGV[3] = banana ARGV[4] = pineapple
(請注意,與 Bash、C 和 C++ 程式一樣,$argv 的第一個元素是程式的名稱。)