我有一个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