Ssh Cron作业-无法打开输入文件:
我已经设置了一个php文件来运行它,它只是回显helloSsh Cron作业-无法打开输入文件:,ssh,crontab,cgi-bin,Ssh,Crontab,Cgi Bin,我已经设置了一个php文件来运行它,它只是回显hello <?php echo hello; ?> 当我的脚本运行时,我收到一封确认电子邮件,上面写着: Could not open input file: /home/username/public_html/mls/test.php 我不知道是什么原因造成的。我正在使用godaddy的虚拟专用服务器,并安装了cpanel x。我已使用ssh设置文件夹和文件的权限777,但仍然无法使其运行 任何建议都会有帮助。谢谢。由于某些原
<?php
echo hello;
?>
当我的脚本运行时,我收到一封确认电子邮件,上面写着:
Could not open input file: /home/username/public_html/mls/test.php
我不知道是什么原因造成的。我正在使用godaddy的虚拟专用服务器,并安装了cpanel x。我已使用ssh设置文件夹和文件的权限777,但仍然无法使其运行
任何建议都会有帮助。谢谢。由于某些原因,PHP无法打开该文件。尝试用“ls-la”替换/usr/local/bin/php-f,以获取更多信息。记住不要在crontab中引用文件名:php-f filename.php,而不是php-f“filename.php”,除非它包含空格——最好使用单引号 可能的话,试试“ls-la/home”、“ls-la/home/username”、“ls-la~/public\uhtml”等等 也可以尝试附加
2>&1
到命令行,以防只有stdout发送给您(我真的不这么认为,但确保成本很低)
另一种可能性
crontab指的是/home/username/public\u html/mls/test.php
——也就是说,在username最常用的主目录值内的公共html目录
可能cron作业没有以适当的用户和权限运行,或者它“看到”的用户实际上是一个虚拟的用户-根本没有“/home/username”-“home directory”在别处,甚至可能在cron作业运行时就存在。在这种情况下,解决方案可能是参考
~/public_html/mls/test.php
或者,如上所述,首先运行命令,例如pwd
或ls-la
,以确定cron作业的当前工作目录的确切位置
如果这也失败了,那么另一种解决方法可以是通过curl或lynx调用PHP HTTP处理程序:
/usr/bin/curl http://www.thishostname.com/mls/test.php
可能使用一些环境变量或curl header或_GET选项将脚本作为cron作业进行身份验证,并避免从外部访问它。
echo hello代码>应该是回显“hello”
。在你的输出中有排印者的引号有关系吗?我希望您没有在实际的命令中使用它们。我的意思是“您好”。我的php没有问题…我的cron也没有找到文件。请尝试在/home/username/?之后开始的路径。谢谢,我只需要删除url路径周围的“”。现在它工作得很好。谢谢。第一次使用GoDaddy Cpanel设置我的cron作业,并且/usr/bin/curl
成功了!谢谢
/usr/bin/curl http://www.thishostname.com/mls/test.php