Reputation: 113
I have a PHP script that is called via a cron job, with the results sent to my email address:
"php /path/to/cron.php"
I only echo errors, otherwise nothing is outputted by me. This way I can get an error report when things go wrong. The problem is, I receive an email with ever cron execution, that only has the HTTP headers in it:
X-Powered-By: PHP/5.2.10
Content-type: text/html
This is obviously a pain, receiving multiple emails every few minutes. All I'd like to see are emails for cron jobs where I've echo'd something.
I want to keep the email being generated by the cron job if possible (instead of sending the email in-script). And I don't want to run it via wget, because my host counts that against my bandwidth.
All my searching has only shown me how to set headers, not remove/suppress the default ones. Am I going about this wrong?
Upvotes: 11
Views: 3570
Reputation: 19
Helpful note for others researching a very similar issue: Additionally, it should be noted that any trailing newlines or whitespace after a closing php tag will cause a cron job to produce seemingly blank output, even if headers are silenced.
?>
Many people choose to omit their php closing tag for this reason.
Upvotes: -1
Reputation: 1
If you're using cPanel, just put the syntax as following:
php /home/<User>/public_html/cron.php >/dev/null 2>&1
Upvotes: 0
Reputation: 9
Using this full command it will work first in configuration file call the your php file will be executed
php -c /home1/sam/public_html/php.ini /home1/sam/public_html/sam_RFID/Android/Email.php
Just Check It.
Upvotes: 0
Reputation: 11851
Try this
php -q /path/to/cron.php
From here: http://www.php.net/manual/en/features.commandline.php#24970
Upvotes: 14