php_cli模式簡介
win下面的執行方法:
假設php.exe 在d:xamppphp在dos命令在可以這個執行:
複製**
**如下:
d:\xamppphpphp.exe d:\xampphtdocstest.php
就可以執行test.php這個檔案了 。這裡推薦win平台下xampp整合環境,真正比wamp強大n倍,這個整合包可以直接進入dos模式。
linux下php_cli使用
首先找到你安裝php的路徑,以我為例:
php安裝在路徑/usr/local/php/bin/php下
複製**
**如下:
/usr/local/php/bin/php /usr/local/apache/htdocs/a.php
就可以執行a。php檔案
php_cli程式設計需知
如何檢測環境支援php_cli模式?
複製**
**如下:
<?php
//方法1
if (php_sapi === 『cli』)
//方法2
if (php_sapi_name() === 『cli』)
php_cli如何接收引數?
預設情況下/usr/local/php/bin/php接收引數是 a
rgv,
這個變數
是固定的
!在ph
p檔案中
vard
ump(
argv);
得到下面結果:
可以寫個簡單的處理函式把這個方式轉化為大家常用的get/post的引數模式。
簡單**:
複製**
**如下:
<?php
function parseargs( a
rgv)
>ar
rays
hift
($ar
gv);
>$o
ut=a
rray();
>fo
reac
h($a
rgva
s$ar
g)>if
(sub
str(
$arg
,0,2
)==′
−−′)
>$e
qpos
=str
pos(
$arg
,′=′
);>if
($eq
pos==
=false)
>$k
ey=s
ubst
r($a
rg,2
);>$o
ut[$
key]
=iss
et($
out[
$key
])?$
out[
$key
]:true;
>el
se>$k
ey=s
ubst
r($a
rg,2
,$eq
pos−2);
>$o
ut[$
key]
=sub
str(
$arg
,$eq
pos+1);
>
>el
seif
(sub
str(
$arg
,0,1
)==′−′)
>if
(sub
str(
$arg
,2,1
)==′=′)
>$k
ey=s
ubst
r($a
rg,1
,1);
>$o
ut[$
key]
=sub
str(
$arg
,3);
>el
se>$c
hars
=str
spli
t(su
bstr
($ar
g,1)
);>fo
reac
h($c
hars
as$c
har)
>$k
ey=$
char
;>$o
ut[$
key]
=iss
et($
out[
$key
])?$
out[
$key
]:true;
>
>
>el
se>$o
ut=$ar
g;>
>
>re
turn
$out
;>
>va
rdum
p(argv);
var_dump(parseargs($argv));exit;
執行結果:
當然實現的方法不止乙個,大家可以嘗試其他方法實現!
例外關於php的cli還有很多引數可以加入:具體可以參考:
關於定時執行
cron是乙個linux下的定時執行工具,可以在無需人工干預的情況下執行作業,週期性作業,比如備份資料 開啟/etc/crontab,新增:
複製**
**如下:
/usr/bin/php -f /data/htdocs/test.php
本文參考資料
附註:2012-06-16 增加php_cli程式設計需知等
PHP CLI 模式詳解
php cli 模式 cli command line inte ce 命令列介面 php 除了可以被apache iis伺服器呼叫,還可以通過cli模式執行,因為php本質上還是c語言寫的程式 以下是常用的php cli 命令 在控制台輸入哦 php v 顯示php 的版本 ini 輸出php.i...
php cli命令無法呼叫正確的php版本處理
伺服器上使用php v等命令時,雖然顯示的php版本是正確的,但php m,php ini等顯示的位置並非正確的php配置資訊 正確的版本和php配置位置是 usr local php bin php,但使用which php檢視到的卻是 usr local bin php位置 猜想可能是path環...
PHP CLI模式介紹及使用教程
看看全稱就知道了,php cli是php command line inte ce的簡稱,即php命令列介面,在windows和linux下都是支援php cli模式的,其實這兩者,我以前都寫過文章 一 window在命令列下執行php 程式 二 linux使用crontab實現定時任務 php c...