0

I have a PHP script which I am trying to run via cron. In cron I have

php /home/dir/dir/foo.php

When the command runs, the cron log says:

Status: 500 Internal Server Error

X-Powered-By: PHP/7.1.16

Content-type: text/html; charset=UTF-8

However, if I simply run php /home/dir/dir/foo.php from the command line, it runs just fine with no error.

I have another PHP script in the same directory which runs correctly via cron.

Other info: The script which isn't working is located outside the document root, creates a database connection, and connects to an API.

I don't have much experience with cron, so I probably set something up wrong, but I'm puzzled why the same command would work via CLI but not in cron.

4
  • You are executing php as cli in cron and get HTTP response? Could you please show whole crontab line? Commented Jun 11, 2018 at 19:06
  • The whole crontab line is: 0,15,30,45 * * * * php /home/dir/dir/get_emails.php >/dev/null 2>&1 Commented Jun 11, 2018 at 19:08
  • And cron log says something? This part >/dev/null 2>&1 writes any output to /dev/null, so this should not be in any log. Are you sure, that this error comes from this script? Commented Jun 11, 2018 at 19:11
  • Oh, sorry to be confusing. I rewrote the line to write to an error log, but I posted the version where it wen to /dev/null. Actually, I just figured out the answer myself. See answer below. Commented Jun 11, 2018 at 19:12

1 Answer 1

0

I just figured out the answer. I changed "php" in the crontab entry to point instead to the PHP 7.1 path, and it's working now.

0,15,30,45 * * * * /opt/alt/php71/usr/bin/php /home/dir/dir/get_emails.php >/dev/null 2>&1

I would have thought that php in CLI would be the same version as php in cron, but apparently not.

1
  • It depends on how you have PHP installed and if you even have multiple versions of PHP on the system. If you have multiples, then the $PATH comes into play (and the various ini files, etc once the specific PHP binary has been found) Commented Jun 12, 2018 at 0:03

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.