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 作业,没有指定输入文件?的主要内容,如果未能解决你的问题,请参考以下文章

cron 作业在 cpanel 中无法正常工作

Cpanel 不运行我的 cron 作业

在CPanel中使用cron作业运行PHP文件但出现一些错误[关闭]

在 cpanel 中使用 cron 作业运行 php 脚本

cron 作业运行 url cpanel

在 CPanel 上设置 Cron 作业以执行 PHP 脚本