本文目錄一覽:
- 1、如何關閉php服務
- 2、linux下如何執行PHP腳本
- 3、linux 下寫 shell kill掉運行時間超過5分鐘的PHP進程
- 4、如何通過Linux命令行使用和運行PHP腳本
- 5、如何使用Linux的Crontab定時執行PHP腳本的方法
如何關閉php服務
你提的問題過於簡單,以至於無法理解。
如果是在windows環境,在任務管理器下找到php進程,kill即可。
如果是在linux環境,用ps -ef|grep php,找到進程號,kill即可。
linux下如何執行PHP腳本
在 Linux 下執行 php 腳本時通常是可以使用以下命令:
#/usr/local/php/bin/php test.php
為簡化輸入可把此php執行程序 copy 到系統命令目錄下:
#cp /usr/local/php/bin/php /usr/sbin/
驗證:輸入以下命令,如正確獲取 php 版本,說明操作成功。
#php -v
這樣,以後再執行PHP腳本時可直接採用以下輸入方式即可。
#php a.php。如果還有不明白的可以去後盾人看看相關的教學視頻。希望能幫到你。
linux 下寫 shell kill掉運行時間超過5分鐘的PHP進程
可以的,能根據Cpu累積耗時殺掉程序。
相關進程名字要知道哈。
假設以php進程為名字。
p_name=php
while true
do
sleep 3
#每3秒檢查一次。
pro=”$(ps -A|grep “$p_name”|head -n1)”
time=”$(echo $pro|awk ‘{
split($3,tab,/:/); if (tab[2]+tab[1]*60=5) {print 1}else{print 0}
}’)”
#上面那句利用awk判斷時間是不是大於5分鐘。是則輸出1,否則輸出0.
pid=”$(echo $pro|awk ‘{print $1}’)”
#如果為1 就殺掉那個進程。
if [ $time = ‘1’ ]
kill -9 $pid
fi
done
如何通過Linux命令行使用和運行PHP腳本
1. 在安裝完PHP和Apache2後,我們需要安裝PHP命令行解釋器。
複製代碼 代碼如下:
# apt-get install php5-cli
[Debian 及類似系統]# yum install php-cli
[CentOS 及類似系統]
接下來我們通常要做的是,在 /var/www/html (這是 Apache2 在大多數發行版中的工作目錄)這個位置創建一個內容為 ?php phpinfo(); ? ,名為 infophp.php 的文件來測試(PHP是否安裝正確),執行以下命令即可。
複製代碼 代碼如下:
# echo ‘?php phpinfo(); ?’ /var/www/html/infophp.php
然後,將瀏覽器訪問 ,這將會在網絡瀏覽器中打開該文件。
檢查PHP信息
不需要任何瀏覽器,在Linux終端中也可以獲得相同的結果。在Linux命令行中執行 /var/www/html/infophp.php ,如:
複製代碼 代碼如下:
# php -f /var/www/html/infophp.php
從命令行檢查PHP信息
由於輸出結果太大,我們可以通過管道將上述輸出結果輸送給 less 命令,這樣就可以一次輸出一屏了,命令如下:
複製代碼 代碼如下:
# php -f /var/www/html/infophp.php | less
檢查所有PHP信息
這裡,『-f『選項解析並執行命令後跟隨的文件。
2. 我們可以直接在Linux命令行使用 phpinfo() 這個十分有價值的調試工具而不需要從文件來調用,只需執行以下命令:
複製代碼 代碼如下:
# php -r ‘phpinfo();’
PHP調試工具
這裡,『-r『 選項會讓PHP代碼在Linux終端中不帶 和 標記直接執行。
3. 以交互模式運行PHP並做一些數學運算。這裡,『-a『 選項用於以交互模式運行PHP。
複製代碼 代碼如下:
# php -aInteractive shellphp echo 2+3;5php echo 9-6;3php
echo 5*4;20php echo 12/3;4php echo 12/5;2.4php echo
2+3-1;4php echo 2+3-1*3;2php exit
輸入 『exit『 或者按下 『ctrl+c『 來關閉PHP交互模式。
啟用PHP交互模式
4. 你可以僅僅將PHP腳本作為shell腳本來運行。首先,創建在你當前工作目錄中創建一個PHP樣例腳本。
複製代碼 代碼如下:
# echo -e ‘#!/usr/bin/php\n?php phpinfo(); ?’ phpscript.php
注意,我們在該PHP腳本的第一行使用 #!/usr/bin/php ,就像在shell腳本中那樣( /bin/bash )。第一行的 #!/usr/bin/php 告訴Linux命令行用 PHP 解釋器來解析該腳本文件。
其次,讓該腳本可執行:
複製代碼 代碼如下:
# chmod 755 phpscript.php
接着來運行它,
複製代碼 代碼如下:
# ./phpscript.php
5. 你可以完全靠自己通過交互shell來創建簡單函數,這你一定會被驚到了。下面是循序漸進的指南。
開啟PHP交互模式。
複製代碼 代碼如下:
# php -a
創建一個函數,將它命名為 addition 。同時,聲明兩個變量 $a 和 $b 。
複製代碼 代碼如下:
php function addition ($a, $b)
使用花括號來在其間為該函數定義規則。
複製代碼 代碼如下:
php {
定義規則。這裡,該規則講的是添加這兩個變量。
複製代碼 代碼如下:
php { echo $a + $b;
所有規則定義完畢,通過閉合花括號來封裝規則。
複製代碼 代碼如下:
php {}
測試函數,添加數字4和3,命令如下:
複製代碼 代碼如下:
php var_dump (addition(4,3));
樣例輸出
複製代碼 代碼如下:
7NULL
你可以運行以下代碼來執行該函數,你可以測試不同的值,你想來多少次都行。將裡頭的 a 和 b 替換成你自己的值。
複製代碼 代碼如下:
php var_dump (addition(a,b));
php var_dump (addition(9,3.3));
樣例輸出
複製代碼 代碼如下:
12.3NULL
創建PHP函數
你可以一直運行該函數,直至退出交互模式(ctrl+z)。同時,你也應該注意到了,上面輸出結果中返回的數據類型為 NULL。這個問題可以通過要求 php 交互 shell用 return 代替 echo 返回結果來修復。
只需要在上面的函數的中 『echo『 聲明用 『return『 來替換
替換
複製代碼 代碼如下:
php { echo $a + $b;
為
複製代碼 代碼如下:
php { return $a + $b;
剩下的東西和原理仍然一樣。
這裡是一個樣例,在該樣例的輸出結果中返回了正確的數據類型。
PHP函數
永遠都記住,用戶定義的函數不會從一個shell會話保留到下一個shell會話,因此,一旦你退出交互shell,它就會丟失了。
如何使用Linux的Crontab定時執行PHP腳本的方法
方法1
1. 在web根目錄創建請求的腳本index.php
我的文件路徑(根據安裝路徑不同有不同路徑):/usr/local/webserver/htdosc/index.php
2. 創建crontab文件
2.1 crontab -e
2.2 * * * * * /usr/local/webserver/php/bin/php-cgi -q /usr/local/webserver/htdosc/index.php
注意事項:
一. /usr/local/webserver/php/ 是我的php安裝路徑
二. php-cgi 是php解析器(我的理解是這樣,總感覺我理解的不對,希望大蝦們指正),有些資料是用./bin/php,我電腦上就不能,所以用php-cgi,可能安裝的方式不對吧。
三. -q 是安靜模式(某些資料中看到的)運行php腳本
四. 有些資料是 把在index.php的首行添加#! /usr/local/webserver/php/bin/php -q ,並對index.php添加執行權限。我沒有這樣做,也能正常請求index.php
最後介紹一個PHP定時執行任務的實現
用到的函數 ignore_user_abort(),set_time_limit(0),sleep($interval)
此代碼只要運行一次後關閉瀏覽器即可。
代碼如下
ignore_user_abort();//關掉瀏覽器,PHP腳本也可以繼續執行.
set_time_limit(0);// 通過set_time_limit(0)可以讓程序無限制的執行下去
$interval=60*30;// 每隔半小時運行
do{
//這裡是你要執行的代碼
sleep($interval);// 等待5分鐘
}while(true);
你也可以用curl命令嘗試。
原文鏈接
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/303153.html