cPanel cron 作业,没有指定输入文件?
Posted
技术标签:
【中文标题】cPanel cron 作业,没有指定输入文件?【英文标题】:cPanel cron job, no input file specified? 【发布时间】:2016-10-07 06:55:45 【问题描述】:我刚刚设置了我的第一个 cron-jon 来每晚运行一个股票脚本。 手动运行它可以正常工作。
它存储在 /admin/stock_update.php 中
我正在运行的命令是/usr/bin/php -q /admin/stock_update.php
但我收到电子邮件说没有指定输入文件? 有什么想法吗?
干杯
【问题讨论】:
您确定您的服务器中有一个名为/admin
的***目录吗?据我所知,这不是 Linux 机器中的约定。请记住,命令行实用程序需要磁盘上的路径,而不是网站 URL。
@ÁlvaroGonzález 我不完全确定,我在这类事情上没有太多经验。我只是使用我的 FTP 中的路径。
【参考方案1】:
网络服务几乎从不公开服务器硬盘驱动器上的实际路径,即使可以,这也不是您可以依赖的行为。因此,您的文件位于 FTP 服务器中的/admin/stock_update.php
这一事实并不能说明磁盘上的实际位置,而这正是本地命令行实用程序所期望的。
在 PHP 中,您可以使用 __FILE__
魔术常量在当前文件的磁盘上找到路径。您可以创建一个测试脚本:
<?php
var_dump(__FILE__);
... 将其上传到相同的 FTP 位置并通过 Web 服务器执行。如果这不是一个选项,因为您的 FTP 帐户中的文件在网络上不可见,您可以从 cron 运行该文件并检查电子邮件。
【讨论】:
嗨,Alvaro,谢谢,这很有意义。我已将我的 cron 更新为正确的服务器路径,现在我遇到了另一个错误。 '无法读取 tmp 文件以保存库存' @s.poole 我从您的代码中收到一个自定义错误,这意味着您的文件最终正在运行。很高兴你把它整理好了。【参考方案2】:您是否在该服务器和 CageFS 文件系统上安装了 CloudLinux 内核?如果是,请尝试运行:
cagefsctl -w cpaneluser;笼子fsctl -m cpaneluser
然后尝试再次运行 cron
【讨论】:
以上是关于cPanel cron 作业,没有指定输入文件?的主要内容,如果未能解决你的问题,请参考以下文章