gpt4 book ai didi

ssh - Cron 作业 - 无法打开输入文件 :

转载 作者:行者123 更新时间:2023-12-02 10:44:55 26 4
gpt4 key购买 nike

我已经设置了一个 php 文件来运行,它只是回显 hello。

<?php
echo hello;
?>

我的 cron 作业如下所示:

/usr/local/bin/php -f “/home/username/public_html/mls/test.php”

当我的脚本运行时,我收到一封确认电子邮件,内容如下:

Could not open input file: /home/username/public_html/mls/test.php 

我不知道是什么原因造成的。我正在使用安装了 cpanel x 的 godaddy 虚拟专用服务器。我已经使用 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_html”等。

也尝试附加

2>&1

到命令行,以防仅将标准输出邮寄给您(我真的不这么认为,但确定成本很低)。

另一种可能性

crontab 本身指的是 /home/username/public_html/mls/test.php - 即 username 的最常见值内的公共(public) HTML 目录主目录。

有可能 cron 作业没有以适当的用户和权限运行,或者它“看到”的用户实际上是虚拟用户 - 这里 根本没有“/home/username” - 并且“主目录”在其他地方,甚至可能只要 cron 作业运行就存在。在这种情况下,解决方案可能是引用

~/public_html/mls/test.php

或者,如上所述,首先运行 pwdls -la 等命令来确定 cron 作业的当前工作目录的准确位置.

如果这也失败,那么另一种解决方法可能是通过curl 或lynx 调用PHP HTTP 处理程序:

/usr/bin/curl http://www.thishostname.com/mls/test.php

可能使用某些环境变量或curl header 或_GET选项来对脚本进行身份验证作为cron作业,并避免从外部访问它。

关于ssh - Cron 作业 - 无法打开输入文件 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11548034/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com