linux後台運行php腳本(linux執行php腳本)

本文目錄一覽:

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怎麼直接執行PHP腳本文件

首先腳本需要有執行權限chmod u+x file.sh

執行腳本有三種方法:

1. ./file.sh

特點:開啟bash子進程來執行,也就是開啟額外的進程來進行,不影響原進程的變量、配置等

2. bash file.sh

特點:和./file.sh相同

3. source file.sh 或者 . file.sh

特點:在原bash進程中執行腳本。

第三種方法主要用於在腳本中切換用戶su、切換目錄cd等命令。

source 和 . 命令是相同的。

你可以搜索 source

補充,如何查看腳本運行是否開啟了bash子進程

vim file.sh

寫入

#!/bin/bash

#echo $$命令會輸出bash進程ID

echo $$

保存並賦予可執行權限chmod u+x file.sh

在你的shell中輸入,echo $$ 屏幕輸出4176

./file.sh 屏幕輸出3600

bash file.sh 屏幕輸出3984

source file.sh 屏幕輸出4176 和 你直接在shell中輸出的一樣,說明是在同一個bash進程

如何使用Linux的Crontab定時執行PHP腳本的方法

下面介紹Crontab的兩種方法。

一、在Crontab中使用PHP執行腳本

就像在Crontab中調用普通的shell腳本一樣(具體Crontab用法),使用PHP程序來調用PHP腳本。

每一小時執行myscript.php如下:

. 代碼如下:

# crontab -e

00 * * * * /usr/local/bin/php /home/john/myscript.php

/usr/local/bin/php為PHP程序的路徑。

二、在Crontab中使用URL執行腳本

如果你的PHP腳本可以通過URL觸發,你可以使用lynx或curl或wget來配置你的Crontab。

下面的例子是使用Lynx文本瀏覽器訪問URL來每小時執行PHP腳本。Lynx文本瀏覽器默認使用對話方式打開URL。但是,像下面的,我們在lynx命令行中使用-dump選項來把URL的輸出轉換來標準輸出。

. 代碼如下:

00 * * * * lynx -dump

下面的例子是使用CURL訪問URL來每5分執行PHP腳本。Curl默認在標準輸出顯示輸出。使用”curl -o”選項,你也可以把腳本的輸出轉儲到臨時文件。

. 代碼如下:

*/5 * * * * /usr/bin/curl -o temp.txt

下面的例子是使用WGET訪問URL來每10分執行PHP腳本。-q選項表示安靜模式。”-O temp.txt”表示輸出會發送到臨時文件。

. 代碼如下:

*/10 * * * * /usr/bin/wget -q -O temp.txt

如何使用Linux的Crontab執行PHP腳本

我們的PHP程序有時候需要定時執行,我們可以使用ignore_user_abort函數或是在頁面放置js讓用戶幫我們實現。但這兩種方法都不太可靠,不穩定。我們可以藉助Linux的Crontab工具來穩定可靠地觸發PHP執行任務。

下面介紹Crontab的兩種方法。

一、在Crontab中使用PHP執行腳本

就像在Crontab中調用普通的shell腳本一樣(具體Crontab用法),使用PHP程序來調用PHP腳本。

每一小時執行myscript.php如下:

# crontab -e

00 * * * * /usr/local/bin/php /home/john/myscript.php

/usr/local/bin/php為PHP程序的路徑。

二、在Crontab中使用URL執行腳本

如果你的PHP腳本可以通過URL觸發,你可以使用lynx或curl或wget來配置你的Crontab。

下面的例子是使用Lynx文本瀏覽器訪問URL來每小時執行PHP腳本。Lynx文本瀏覽器默認使用對話方式打開URL。但是,像下面的,我們在lynx命令行中使用-dump選項來把URL的輸出轉換來標準輸出。

00 * * * * lynx -dump

下面的例子是使用CURL訪問URL來每5分執行PHP腳本。Curl默認在標準輸出顯示輸出。使用”curl -o”選項,你也可以把腳本的輸出轉儲到臨時文件。

*/5 * * * * /usr/bin/curl -o temp.txt

下面的例子是使用WGET訪問URL來每10分執行PHP腳本。-q選項表示安靜模式。”-O temp.txt”表示輸出會發送到臨時文件。

*/10 * * * * /usr/bin/wget -q -O temp.txt

如何通過Linux命令行使用和運行PHP腳本

在 Linux 命令行中運行 PHP 代碼

PHP的語法和C、Java以及帶有一些PHP特性的Perl變成語言中的語法十分相似,它當下大約正被2.6億個網站所使用,當前最新的穩定版本是PHP版本5.6.10。

PHP是HTML的嵌入腳本,它便於開發人員快速寫出動態生成的頁面。PHP主要用於服務器端(而Javascript則用於客戶端)以通過HTTP生成動態網頁,然而,當你知道可以在Linux終端中不需要網頁瀏覽器來執行PHP時,你或許會大為驚訝。

本文將闡述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下如何執行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

原創文章,作者:A4BXW,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/130863.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
A4BXW的頭像A4BXW
上一篇 2024-10-03 23:27
下一篇 2024-10-03 23:27

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python腳本控制其他軟件

    Python作為一種簡單易學、功能強大的腳本語言,具有廣泛的應用領域,在自動化測試、Web開發、數據挖掘等領域都得到了廣泛的應用。其中,Python腳本控制其他軟件也是Python…

    編程 2025-04-29
  • Shell腳本與Python腳本的區別

    本文將從多個方面對Shell腳本與Python腳本的區別做詳細的闡述。 一、語法差異 Shell腳本和Python腳本的語法存在明顯差異。 Shell腳本是一種基於字符命令行的語言…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • Python自動化運維腳本

    Python自動化運維腳本是使用Python編寫的代碼,可以幫助管理員自動化執行繁瑣、重複的操作任務。通過Python自動化運維腳本,管理員可以在更短的時間內完成工作,提高工作效率…

    編程 2025-04-28
  • 使用Python圖書館搶座腳本的完整步驟

    本文將從多個方面詳細介紹如何使用Python編寫圖書館的座位搶佔腳本,並幫助您快速了解如何自動搶佔圖書館的座位,並實現您的學習計劃。 一、開發環境搭建 首先,我們需要安裝Pytho…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • ArcGIS的Python腳本需要主函數嗎?

    是的,ArcGIS的Python腳本需要主函數,主函數是Python腳本的入口和起點,沒有主函數腳本無法運行。 一、主函數的作用 在Python腳本中,主函數是代碼的入口,所有的代…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若服務器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • Python監控腳本開發指南

    本文將為大家介紹Python編寫監控腳本的方法和技巧,幫助大家更好地了解監控腳本在項目中的應用。 一、監控腳本概述 監控腳本可以作為一個重要的工具來監控服務器狀態,包括CPU、內存…

    編程 2025-04-27

發表回復

登錄後才能評論