国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php-cli簡介(不會Shell語言一樣用Shell)

2024-05-04 23:09:39
字體:
來源:轉載
供稿:網友
1.基礎知識

1.1 什么是Shell編程?
在 Unix 中,shell 可不是簡單的命令解釋器(典型的有 Windows 中的 DOS ),而是一個全功能的編程環境。Shell 是操作系統的一部分,用來與用戶打交道,并且可以用來協調各個命令【1】。用Shell編程可以靈活地解決大量重復任務,十分方便。但是,Shell的語法十分怪異(個人意見),不容易記,如果現在熟悉的語言可以用來寫shell那就好了——比如php——就可以快速開發Shell程序了(比如我的Preminder的后臺程序),于是便有了這篇文章,本文以Linux為例說明php-cli的用法,其它平臺的版本類似。

1.2 什么是php-cli?
剛才說到,我們可以用php來開發Shell程序。有的同學可能會問啦:“php不是用來做網頁的么?-_-”。是的,php可以用來做動態網頁,并且當初php就是為做動態網頁而開發的語言,但是理論上php可以用來做任何的程序,甚至是桌面程序,而php-cli是php在命令行運行的支持環境,也就是我們說的可以用來寫Shell的環境支持。

php-cli是php Command Line Interface的簡稱,如同它名字的意思,就是php在命令行運行的接口,區別于在Web服務器上運行的php環境(php-cgi, isapi等)【2】。

也就是說,php不單可以寫前臺網頁,它還可以用來寫后臺的程序。

2. 執行php-cli腳本

2.1 php-cli的語法
當然是跟php一模一樣啦,因為它就是php嘛!只不過一些默認的參數與php-cgi不同,比如運行時間:php-cli默認運行時間是無窮,而網頁php默認設置是30s。

2.2 執行php-cli腳本

2.2.1. 直接在終端執行php
kangzj@localhost# php -r 'print_r(get_defined_constants());'2.2.2. 運行php-cli腳本文件
kangzj@localhost# php my_script.php

kangzj@localhost# php -f my_script.php上而說的php文件就是一般的php文件沒有什么不同。還有一種方式,就是在文件中指令解釋器,就可以直接在終端以”./test.php執行腳本了”,test.php就像下面這樣:

復制代碼 代碼如下:


#!/usr/bin/php -q
<?php
echo "Hello world of PHP CLI!";
?>



補充:php的Shell程序并不一定以php為擴展名,可以以任意擴展名,甚至不要擴展名,只是為了清楚,我才用的php擴展名。

2.2.3. 用Cron執行php-cli腳本
cron是一個linux下的定時執行工具,可以在無需人工干預的情況下運行作業,周期性作業,比如備份數據,Preminder定期查詢PR等等,添加的方法:打開/etc/crontab,添加:

0 13 * * * /usr/bin/php -f /home/phpscripts/phpcli.php

4. 結語
如果你會php的話,那么你也會了一種Shell編程語言!

如果你不會php,你去學php,就相當于一下子學會動態網頁和Shell兩種語言!并且你甚至可以用php來寫具有圖形界面的應用程序,Dnspod的動態域名客戶端中就有一種是用php開發的。

php的易學是出名的,如果你還不會,那是在猶豫什么呢?

另外,再宣傳一下我的”Preminder”——PR更新Email提醒服務~~

5. 參考文獻
1.Linux Shell簡介 :
2.PHP Command Line Interface : Mystic Unleashed :
3.ch 4.2, php manual :
PS:Shell命令還是要知道一些的,否則有些功能不太好實現。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 漳浦县| 泰州市| 九龙城区| 平利县| 常熟市| 吕梁市| 江口县| 措勤县| 盐山县| 汝州市| 武宣县| 湄潭县| 金阳县| 碌曲县| 师宗县| 双桥区| 罗定市| 宜兴市| 毕节市| 安图县| 壤塘县| 勃利县| 喀喇| 彭泽县| 两当县| 仙居县| 淄博市| 叙永县| 鄄城县| 平舆县| 金平| 阜宁县| 青州市| 凌海市| 肥东县| 东平县| 安康市| 台东市| 庆安县| 嘉祥县| 大英县|