我有一個PHP腳本,我想用bash腳本運行,所以我可以使用Cron運行php腳本每分鐘左右。Bash腳本運行php腳本
據我所知,我需要創建bash腳本來處理php腳本,這將允許我使用Cron工具/定時器。在我的PHP腳本開始
#!/pathtoscript/testphp.php
:
到目前爲止,我被告知我需要把。林不知道該怎麼辦從這裏...
任何意見?謝謝。
我有一個PHP腳本,我想用bash腳本運行,所以我可以使用Cron運行php腳本每分鐘左右。Bash腳本運行php腳本
據我所知,我需要創建bash腳本來處理php腳本,這將允許我使用Cron工具/定時器。在我的PHP腳本開始
#!/pathtoscript/testphp.php
:
到目前爲止,我被告知我需要把。林不知道該怎麼辦從這裏...
任何意見?謝謝。
如果您已經安裝PHP作爲一個命令行工具(嘗試發行php
到終端,看看它是否工作),你的家當(#!
)行需要看起來像這樣:
#!/usr/bin/php
把這點腳本的頂部,使其可執行(chmod +x myscript.php
),並使Cron作業執行該腳本(與執行bash腳本的方式相同)。
您也可以使用php myscript.php
。
如果你在bash腳本中沒有做任何事情比運行php,你可以簡單地使用/ usr/bin/php /path/to/your/file.php命令從cron運行php腳本。
你只需要設置:
/usr/bin/php path_to_your_php_file
在crontab。
我不得不在路徑前添加一個php,但這個概念起作用。 – 2012-11-06 04:29:53
的bash腳本應該是這樣的:
#!/bin/bash
/usr/bin/php /path/to/php/file.php
您需要的PHP可執行文件(通常在/ usr/bin中),並跑出了PHP腳本的路徑。現在你只需要把這個bash腳本放在crontab上,你就完成了!
我敢肯定,這樣的事情是你在找什麼:
#!/bin/sh
php /pathToScript/script.php
保存與您所需的腳本的名稱(如runPHP.sh),並給它執行權限,那麼你可以使用它然而你想要。
編輯:你可能不會使用bash腳本,只需將「php ...」命令添加到crontab中,如果我沒有弄錯的話。
祝你好運!
在大多數環境中,您不能簡單地調用'php youscript.php',但必須找出正確的路徑。例如。使用整個路徑'/ usr/bin/php myscript.php'或通過調用'which php'並將結果寫入稍後使用的變量來動態計算出來。 – Hafenkranich 2017-08-03 16:40:48
一個以前的海報說..
如果你已經安裝了PHP作爲命令行工具......你的家當行需要這個樣子(#!):
#!/usr/bin/php
雖然這可能是真的......只是因爲你可以鍵入php
並不一定意味着這就是PHP的地方....../usr/bin/php
是一個常見的位置...但與任何shebang一樣...它需要根據您的env
量身定製。
一個快速的方法來找出你的特定可執行文件位於您$PATH
,嘗試.. ➜which -a php
ENTER,這對我來說看起來像..
php is /usr/local/php5/bin/php
php is /usr/bin/php
php is /usr/local/bin/php
php is /Library/WebServer/CGI-Executables/php
第一個是我會得到的默認值,如果我只是在php中鍵入a t命令提示符...但我可以在任何一個shebang中使用它們,或者直接使用它們...您也可以將可執行文件的名稱與env
結合使用,但我並不十分了解/信任即。 XOXO。
一個快速的方法來找出你的特定的可執行文件位於你的$ PATH,嘗試。
更快找出php
是辦法......
whereis php
我運行debian
和上面的命令顯示我
php: /usr/bin/php /usr/share/php /usr/share/man/man1/php.1.gz
希望有所幫助。
#!/usr/bin/env bash
PHP=`which php`
$PHP /path/to/php/file.php
如果你要使用命令行使用量的家當,你真的應該使用「**#!的/ usr/bin中/ env的PHP **」,因爲它允許腳本更便攜,因爲PHP可能並不總是安裝在「/ usr/bin/php」中。合理? – Rican7 2013-01-31 23:30:58