如何通过cronjob运行php文件?
我想通过cronjob发送一封自动电子邮件 我制作了一个名为如何通过cronjob运行php文件?,php,cron,Php,Cron,我想通过cronjob发送一封自动电子邮件 我制作了一个名为send\u email.php的文件。如果我在浏览器中打开它,电子邮件将成功发送。但当我想通过cronjob打开文件时,会收到一些错误消息: /is/htdocs/user/.../myfolder/send_email.php: line 1: ?php: No such file or directory /is/htdocs/user/.../myfolder/send_email.php: line 3: synt
send\u email.php
的文件。如果我在浏览器中打开它,电子邮件将成功发送。但当我想通过cronjob打开文件时,会收到一些错误消息:
/is/htdocs/user/.../myfolder/send_email.php: line 1: ?php: No such file or directory
/is/htdocs/user/.../myfolder/send_email.php: line 3: syntax error near unexpected token `'includes/config.php''
/is/htdocs/user/.../myfolder/send_email.php: line 3: `require('includes/config.php'); '
我在send_email.php
中的前3行是:
<?php
require('includes/config.php');
从第一条错误消息判断,您可能正在尝试将php脚本作为shell脚本执行。
尝试执行php二进制文件
/usr/bin/php /path/to/your/cron.php
可能需要错误的路径。您需要检查send_email.php相对于cron工作目录的位置。或者你可以用猞猁来做这个
* * * * * lynx -dump http://domain.tld/send_email.php
如何从cron调用脚本?您可以添加cronjob中的行吗?cron命令看起来像什么?您可能需要类似于/usr/bin/php您的_script.php
而不仅仅是。。。你的_script.php
你想在你的本地主机或服务器上运行cronjob吗?请告诉我你有哪台服务器,windows/linux,你有没有访问cpanel的权限?谢谢你的回答,我的主机是hosteurope,所以我想它是一台linux服务器。除了php cli,没有必要使用其他东西php-f/path/to/file.php
我认为路径是可以的,因为我有另一个用于mysqldumper的cronjob/is/htdocs/user/../myfolder/crondump.pl
工作正常……或者预先编写一个shebang:#/usr/bin/php
谢谢,但是路径/is/htdocs/user/
的第一部分是由我的主机预设的。我有另一个到mysql转储程序的cronjob,它使用几乎相同的路径/is/htdocs/user/../myfolder/crondump.pl
,并且工作正常。好吧,cronjob执行的是一个.pl文件,而不是.php文件。如果不能直接调用php,可以使用web cron,也可以尝试在php cron前面加上#/usr/bin/php告诉bash要使用什么解释器(在本例中为php)prepend=add-in-front。文件的第一行必须是#/usr/bin/php-then