php_cli模式簡介
php-cli是php Command Line Interface的簡稱,如同它名字的意思,就是php在命令行運行的接口,區(qū)別于在Web服務(wù)器上運行的php環(huán)境(php-cgi, isapi等) 也就是說,php不單可以寫前臺網(wǎng)頁,它還可以用來寫后臺的程序。 PHP的CLI shell腳本適用于所有的PHP優(yōu)勢,使創(chuàng)建要么支持腳本或系統(tǒng)甚至與GUI應(yīng)用程序的服務(wù)端!――注:windows和linux下都支持php_cli模式
PHP-cli應(yīng)用場景:
1.多線程應(yīng)用
這方面的好處,引用鳥哥的話:
優(yōu)點:
1. 使用多進程, 子進程結(jié)束以后, 內(nèi)核會負責回收資源
2. 使用多進程,子進程異常退出不會導致整個進程Thread退出. 父進程還有機會重建流程.
3. 一個常駐主進程, 只負責任務(wù)分發(fā), 邏輯更清楚.
php的多線程―沒錯就是php多線程應(yīng)用,雖然大家都普遍認為php沒有多線程(curl屬于模擬多線程而不是真實的),但是在php_cli模式下的php徹底的是屬于多線程。這個時候php屬于linux的一個守護進程。 在本人之前寫過的《PHP多線程批量采集下載美女圖片(續(xù))》的時候在采集程序里雖然使用curl來模擬多線程,但是在瀏覽器執(zhí)行的時候也是會遇到執(zhí)行超時或內(nèi)存abort而導致程序中斷,(要嘗試幾次才可以徹底成功),但是如果在php-cli模式下執(zhí)行,你就會發(fā)現(xiàn)這個程序執(zhí)行的很快,php多線程執(zhí)行的優(yōu)勢被徹底表現(xiàn)出來了.
備注:這種多線程方式不是很成熟,不適合大規(guī)模的生成應(yīng)用,偶爾使用還是可以的
2.定時執(zhí)行php程序
之前本人總結(jié)關(guān)于《PHP定時執(zhí)行計劃任務(wù)》的三種方式,利用有一張就是利用linux的cron方式,那么這個方式是如何定時執(zhí)行php程序?請看下文
3.開發(fā)桌面程序
你可以做您的Windows或Linux中使用PHP的圖形用戶界面(GUI)應(yīng)用!所有你需要的是PHP的命令行接口和一包GTK。這將允許建立真正的便攜式圖形用戶界面應(yīng)用程序(呵呵,之前只是知道php可以做桌面程序,現(xiàn)在才知道是使用php_cli模式),并且不需要學習別的。
4.編寫PHP的shell腳本
如果你不會bash shell或者Perl等的使用,但是你又需要一些腳本去執(zhí)行的時候,怎么辦?這個時候你完全可以使用你熟悉的php編寫shell腳本,這個時候你是不是突然感覺PHP是不是太強大了!―
主站蜘蛛池模板:
社会|
遂昌县|
政和县|
庆云县|
夹江县|
沂水县|
彰化县|
敦化市|
浦江县|
蒙阴县|
鹤壁市|
慈利县|
安图县|
曲靖市|
吴桥县|
安康市|
准格尔旗|
镇沅|
鹤峰县|
北京市|
弋阳县|
京山县|
弥渡县|
阿拉尔市|
金坛市|
阳东县|
海南省|
库车县|
宝山区|
西乌珠穆沁旗|
临猗县|
太和县|
营口市|
呈贡县|
恩施市|
大足县|
大石桥市|
永修县|
沙洋县|
杨浦区|
隆尧县|