亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

php cli模式學習-PHP命令行模式

2020-03-22 18:47:26
字體:
來源:轉載
供稿:網友
之前知道php—cli模式是一種類似shell命令式的執行php程序,不過一直以為這個是一種落后的方式,應該沒有什么意義,因為從沒有遇到過使用這個cli模式編程的。不過今天遇到了使用cli模式的應用

php_cli模式簡介

php-cli是php Command Line Interface的簡稱,如同它名字的意思,就是php在命令行運行的接口,區別于在Web服務器上運行的php環境(php-cgi, isapi等) 也就是說,php不單可以寫前臺網頁,它還可以用來寫后臺的程序。 PHP的CLI shell腳本適用于所有的PHP優勢,使創建要么支持腳本或系統甚至與GUIhtml' target='_blank'>應用程序的服務端!——注:windows和linux下都支持php_cli模式

PHP-cli應用場景:

1.多線程應用
這方面的好處,引用鳥哥的話:

優點:
1. 使用多進程, 子進程結束以后, 內核會負責回收資源
2. 使用多進程,子進程異常退出不會導致整個進程Thread退出. 父進程還有機會重建流程.
3. 一個常駐主進程, 只負責任務分發, 邏輯更清楚.

php的多線程—沒錯就是php多線程應用,雖然大家都普遍認為php沒有多線程(curl屬于模擬多線程而不是真實的),但是在php_cli模式下的php徹底的是屬于多線程。這個時候php屬于linux的一個守護進程。 在本人之前寫過的《PHP多線程批量采集下載美女圖片(續)》的時候在采集程序里雖然使用curl來模擬多線程,但是在瀏覽器執行的時候也是會遇到執行超時或內存abort而導致程序中斷,(要嘗試幾次才可以徹底成功),但是如果在php-cli模式下執行,你就會發現這個程序執行的很快,php多線程執行的優勢被徹底表現出來了.

備注:這種多線程方式不是很成熟,不適合大規模的生成應用,偶爾使用還是可以的

2.定時執行php程序

之前本人總結關于《PHP定時執行計劃任務》的三種方式,利用有一張就是利用linux的cron方式,那么這個方式是如何定時執行php程序?請看下文

3.開發桌面程序

你可以做您的Windows或Linux中使用PHP的圖形用戶界面(GUI)應用!所有你需要的是PHP的命令行接口和一包GTK。這將允許建立真正的便攜式圖形用戶界面應用程序(呵呵,之前只是知道php可以做桌面程序,現在才知道是使用php_cli模式),并且不需要學習別的。

4.編寫PHP的shell腳本
如果你不會bash shell或者Perl等的使用,但是你又需要一些腳本去執行的時候,怎么辦?這個時候你完全可以使用你熟悉的php編寫shell腳本,這個時候你是不是突然感覺PHP是不是太強大了!—–真正做到一種語言,到處開發!

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//方法1if (PHP_SAPI === 'cli'){   // ...}//方法2if (php_sapi_name() === 'cli'){   // ...}



PHP_ClI如何接收參數?
默認情況下/usr/local/php/bin/php接收參數是$argv,這個變量是固定的!在php文件中var_dump($argv);

得到下面結果:



可以寫個簡單的處理函數把這個方式轉化為大家常用的GET/post的參數模式。

簡單代碼:

復制代碼 代碼如下:

<?php function parseArgs($argv){ array_shift($argv); $out = array(); foreach ($argv as $arg){ if (substr($arg,0,2) == '--'){ $eqPos = strpos($arg,'='); if ($eqPos === false){ $key = substr($arg,2); $out[$key] = isset($out[$key]) ? $out[$key] : true; } else { $key = substr($arg,2,$eqPos-2); $out[$key] = substr($arg,$eqPos+1); } } else if (substr($arg,0,1) == '-'){ if (substr($arg,2,1) == '='){ $key = substr($arg,1,1); $out[$key] = substr($arg,3); } else { $chars = str_split(substr($arg,1)); foreach ($chars as $char){ $key = $char; $out[$key] = isset($out[$key]) ? $out[$key] : true; } } } else { $out[] = $arg; } } return $out; } var_dump($argv); var_dump(parseArgs($argv));exit;


執行結果:



當然實現的方法不止一個,大家可以嘗試其他方法實現!

例外關于php的cli還有很多參數可以加入:具體可以參考:http://php.net/manual/en/features.commandline.php

關于定時執行
cron是一個linux下的定時執行工具,可以在無需人工干預的情況下運行作業,周期性作業,比如備份數據 打開/etc/crontab,添加:

復制代碼 代碼如下:

/usr/bin/php -f /data/htdocs/test.php



關于corntab的詳細使用參考51cto專題:Linux計劃任務——cron服務

本文參考資料
http://www.49028c.com/php-weizijiaocheng-312213.html

http://www.49028c.com/php-weizijiaocheng-307840.html

http://www.49028c.com/php-weizijiaocheng-307856.html

附注:2012-06-16 增加php_cli編程需知等

相關推薦:

vue cli升級webapck4的使用方法

以上就是php cli模式學習-PHP命令行模式的詳細內容,更多請關注 其它相關文章!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
一区二区三区亚洲| 中文字幕精品影院| 亚洲精品午夜精品| 成人久久一区二区三区| 欧美性资源免费| 日韩av电影在线网| 国产在线精品一区免费香蕉| 国产黑人绿帽在线第一区| 日韩电影网在线| 中文字幕欧美日韩在线| 伊人久久免费视频| 亚洲第一区在线观看| 欧美在线观看网站| 91免费综合在线| 亚洲xxxx妇黄裸体| 亚洲精品资源美女情侣酒店| 精品国产乱码久久久久久天美| 欧美剧在线观看| 欧美国产日韩一区| 国产精品日韩电影| 亚洲永久免费观看| 欧美一级片在线播放| 这里只有精品丝袜| 97色在线观看免费视频| 91精品国产成人www| 精品久久久国产精品999| 欧美精品手机在线| 久久男人的天堂| 国产91成人video| 91精品视频在线播放| 最近的2019中文字幕免费一页| 51视频国产精品一区二区| 爽爽爽爽爽爽爽成人免费观看| 国产做受高潮69| 88国产精品欧美一区二区三区| 久久香蕉国产线看观看av| 欧美性猛交xxxx黑人猛交| 97在线视频国产| 亚洲乱码一区二区| 欧美专区福利在线| 中国日韩欧美久久久久久久久| 97国产精品视频| 国产91精品高潮白浆喷水| 亚洲bt天天射| 欧美国产日韩精品| 97超级碰在线看视频免费在线看| 日本不卡免费高清视频| 国产色综合天天综合网| 亚洲女人被黑人巨大进入| 国产精品亚洲视频在线观看| 国产亚洲一区精品| 久久久极品av| 国产精品一区二区久久国产| 日韩欧美主播在线| 日韩精品视频在线| 国产精品美女久久久免费| 日韩有码在线播放| 日韩欧美在线视频免费观看| 久久国产精品免费视频| 日韩亚洲综合在线| 成人激情av在线| 国产成人精彩在线视频九色| 成人网页在线免费观看| 亚洲人成电影网站色…| 在线观看国产成人av片| 国产欧美精品一区二区| 日本午夜在线亚洲.国产| 日韩精品一二三四区| 国产日本欧美一区二区三区| 伊人久久久久久久久久| 国产一区二区美女视频| 欧美国产日韩一区二区在线观看| 一区二区三欧美| 爽爽爽爽爽爽爽成人免费观看| 国产一区红桃视频| 欧美视频一区二区三区…| 国产suv精品一区二区| 91精品国产高清| 国产精品一区二区av影院萌芽| 97免费在线视频| 亚洲女同精品视频| 亚洲欧美国产制服动漫| 亚洲精品美女网站| 国产精品国产三级国产aⅴ9色| 精品久久在线播放| 国产欧美一区二区三区视频| 中文字幕日韩欧美在线| 国产suv精品一区二区| 欧美国产日本高清在线| 国产97在线视频| 一区二区三区国产视频| 日韩小视频在线| 日韩有码在线视频| 一区二区三区视频免费在线观看| 国产精品成人在线| 丝袜一区二区三区| 久久中文字幕在线| 亚洲国产成人精品电影| 久久国产精品亚洲| 欧美大片在线影院| 欧美国产日本在线| 中文欧美日本在线资源| 国产精品777| 日韩精品免费在线| 日韩一中文字幕| 欧美精品在线看| 7777精品视频| 国产精品美女av| 精品视频偷偷看在线观看| 日韩电影大全免费观看2023年上| 国产精品劲爆视频| 国产精品直播网红| 欧美日韩在线视频一区| 欧美激情久久久| 亚州精品天堂中文字幕| 国产精品一二三视频| 国产精品亚洲激情| 欧美成人激情在线| 日韩hd视频在线观看| 国产视频一区在线| 欧美亚洲伦理www| 亚洲全黄一级网站| 欧美在线视频观看免费网站| 国产精品福利小视频| 亚洲三级黄色在线观看| 久久久久久久久久久人体| 国产亚洲激情视频在线| 一区二区欧美久久| 日韩欧美国产中文字幕| 日韩视频免费看| 欧美性生交大片免网| 精品无人国产偷自产在线| 欧美日韩综合视频| 中文字幕成人在线| 日韩国产在线看| 国产欧美精品在线播放| 国产91对白在线播放| 国产精品成人一区二区三区吃奶| 国产亚洲欧洲高清| 91国产视频在线| 尤物九九久久国产精品的特点| 久久九九免费视频| 欧美一区二区影院| 国产精品吴梦梦| 国内精品视频在线| 国产精品亚洲视频在线观看| 欧美日本啪啪无遮挡网站| 一区二区三区动漫| 色多多国产成人永久免费网站| 亚洲人线精品午夜| 欧美视频一二三| 欧美与黑人午夜性猛交久久久| 亚州精品天堂中文字幕| 欧美另类在线观看| 日韩www在线| 97视频在线观看视频免费视频| 欧美孕妇孕交黑巨大网站| 国内精品美女av在线播放| 精品久久久久国产| 日韩成人久久久| 日韩精品在线观| 热久久视久久精品18亚洲精品| 日韩精品久久久久久久玫瑰园| 国产精品精品国产|