简体   繁体   中英

PHP CRON job, not output HTTP headers

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? Has anybody else seen this?

Thanks

Try this

php -q /path/to/cron.php

From here: http://www.php.net/manual/en/features.commandline.php#24970

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.

如果您使用的是 cPanel,只需将语法如下:

php /home/<User>/public_html/cron.php >/dev/null 2>&1

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM