I have a php script that I want to be run using a bash script, so I can use Cron to run the php script every minute or so.
As far as I’m aware I need to create the bash script to handle the php script which will then allow me to use the Cron tool/timer.
So far I was told I need to put:
at the start of my php script. Im not sure what to do from here…
Any advice? Thanks.
If you have PHP installed as a command line tool (try issuing
php to the terminal and see if it works), your shebang (
#!) line needs to look like this:
Put that at the top of your script, make it executable (
chmod +x myscript.php), and make a Cron job to execute that script (same way you’d execute a bash script).
You can also use
A previous poster said..
If you have PHP installed as a command line tool… your shebang (#!) line needs to look like this:
While this could be true… just because you can type in
php does NOT necessarily mean that’s where php is going to be…
/usr/bin/php is A common location… but as with any shebang… it needs to be tailored to YOUR
a quick way to find out WHERE YOUR particular executable is located on your
which -a php ENTER, which for me looks like..
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
The first one is the default i’d get if I just typed in php at a command prompt… but I can use any of them in a shebang, or directly… You can also combine the executable name with
env, as is often seen, but I don’t really know much about / trust that. XOXO.
You just need to set :
in your crontab.
#!/usr/bin/env bash PHP=`which php` $PHP /path/to/php/file.php
I’m pretty sure something like this is what you are looking for:
#!/bin/sh php /pathToScript/script.php
Save that with your desired script name (such as runPHP.sh) and give it execution rights, then you can use it however you want.
Edit: You might as well not use a bash script at all and just add the “php …” command to the crontab, if I’m not mistaken.
The bash script should be something like this:
#!/bin/bash /usr/bin/php /path/to/php/file.php
You need the php executable (usually found in /usr/bin) and the path of the php script to be ran. Now you only have to put this bash script on crontab and you’re done!
a quick way to find out WHERE YOUR particular executable is located on your $PATH, try.
Even quicker way to find out where
php is …
debian and above command showing me
php: /usr/bin/php /usr/share/php /usr/share/man/man1/php.1.gz
Hope that helps.
If you don’t do anything in your bash script than run the php one, you could simply run the php script from cron with a command like /usr/bin/php /path/to/your/file.php.