Php 如何在cron作业中设置文件

Php 如何在cron作业中设置文件,php,cron,cpanel,Php,Cron,Cpanel,我需要每分钟运行一个php文件,所以我尝试从cpanel设置一个cronjob 但它正在发送带有消息“无法打开输入文件:” 我的php文件位于public_html/schoolerp/cron.php中 我做到了: /usr/local/bin/php-f/public_html/schoolerp/cron.php 我做错了什么请告诉我我是否设置正确,如果我错了请帮助我更正…不确定这是否是一个完整的修复,但您正在使用“/public\u html/schoolerp/cron.php”的绝对

我需要每分钟运行一个php文件,所以我尝试从cpanel设置一个cronjob 但它正在发送带有消息“无法打开输入文件:”

我的php文件位于public_html/schoolerp/cron.php中

我做到了:

/usr/local/bin/php-f/public_html/schoolerp/cron.php


我做错了什么请告诉我我是否设置正确,如果我错了请帮助我更正…

不确定这是否是一个完整的修复,但您正在使用“/public\u html/schoolerp/cron.php”的绝对路径,而这似乎不太可能是正确的。您可能正在寻找“public_html/schoolerp/cron.php”的相对路径(注意前面缺少“/”)。不过,您可能只想从文件系统的根开始使用正确的绝对路径。

不确定这是否是一个完整的修复程序,但您正在为“/public\u html/schoolerp/cron.php”使用绝对路径,而这似乎不太可能是正确的。您可能正在寻找“public_html/schoolerp/cron.php”的相对路径(注意前面缺少“/”)。您可能只想使用从文件系统根开始的正确绝对路径。

  • 使用绝对路径
  • 确保脚本是正确的 可访问,检查路径上文件/目录的访问权限
  • 默认情况下,cron将接受所有 输出脚本并将其发送到 你的电子邮件
您可以将命令的输出重定向到文件或/dev/null,以防止cron发送电子邮件。我建议重定向到本地文件以备将来参考,这有利于调试和出现问题时使用

我认为这样做应该:

/usr/local/bin/php -f /public_html/schoolerp/cron.php > /logs/mylog.txt 2>&1
重定向到mylog.txt文件并将stderror附加到stdout,以便stderror和stdout都在日志文件中。

  • 使用绝对路径
  • 确保脚本是正确的 可访问,检查路径上文件/目录的访问权限
  • 默认情况下,cron将接受所有 输出脚本并将其发送到 你的电子邮件
您可以将命令的输出重定向到文件或/dev/null,以防止cron发送电子邮件。我建议重定向到本地文件以备将来参考,这有利于调试和出现问题时使用

我认为这样做应该:

/usr/local/bin/php -f /public_html/schoolerp/cron.php > /logs/mylog.txt 2>&1

重定向到mylog.txt文件,并将stderror附加到stdout,以便stderror和stdout都在日志文件中。

回答得很好,比我的答案更全面+1这里需要指出的另一件事是,您可以通过让STDERR滑动(而不是重定向)来设置要通过电子邮件发送给您的错误。邮寄=myemail@mydomain.com应该位于crontab的顶部。如果STDOUT被认为是一个错误,那么就不要重定向。比必须记住登录并检查日志要好得多。很好的全面回答,比我的回答还要多+1这里需要指出的另一件事是,您可以通过让STDERR滑动(而不是重定向)来设置要通过电子邮件发送给您的错误。邮寄=myemail@mydomain.com应该位于crontab的顶部。如果STDOUT被认为是一个错误,那么就不要重定向。比必须记住登录并检查日志要好得多。