mmm*_*eys 40 php bash shell cron
我有一个php脚本,我希望使用bash脚本运行,所以我可以使用Cron每分钟运行一次php脚本.
据我所知,我需要创建bash脚本来处理php脚本,然后允许我使用Cron工具/计时器.
到目前为止我被告知我需要放:
#!/pathtoscript/testphp.php
Run Code Online (Sandbox Code Playgroud)
在我的PHP脚本的开头.我不知道该怎么办......
有什么建议?谢谢.
Raf*_*ler 70
如果您将PHP安装为命令行工具(尝试发送php到终端并查看它是否有效),您的shebang(#!)行需要如下所示:
#!/usr/bin/php
Run Code Online (Sandbox Code Playgroud)
将它放在脚本的顶部,使其成为可执行文件(chmod +x myscript.php),然后创建一个Cron作业来执行该脚本(与执行bash脚本的方式相同).
你也可以使用php myscript.php.
FDi*_*isk 16
#!/usr/bin/env bash
PHP=`which php`
$PHP /path/to/php/file.php
Run Code Online (Sandbox Code Playgroud)
Ale*_*ray 12
之前的一张海报说..
如果您已将PHP安装为命令行工具...您的shebang(#!)行需要如下所示:
#!/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 ...但我可以在shebang中使用它们中的任何一个,或者直接...你也可以将可执行文件名称与之结合使用env,如常见,但是我真的不太了解/相信这一点.XOXO.
我很确定这样的东西就是你要找的东西:
#!/bin/sh
php /pathToScript/script.php
Run Code Online (Sandbox Code Playgroud)
使用所需的脚本名称(例如runPHP.sh)保存并赋予其执行权限,然后您可以随意使用它.
编辑:你可能根本不使用bash脚本,只需将"php ..."命令添加到crontab,如果我没有弄错的话.
祝好运!