我刚刚建立了我的第一个cron-jon,每晚运行一个股票脚本。 手动运行它可以正常工作。
它存储在/admin/stock_update.php
中我正在运行的命令是/usr/bin/php -q /admin/stock_update.php
但我收到的电子邮件说没有指定输入文件? 有什么想法吗?
干杯
答案 0 :(得分:3)
网络服务几乎从不暴露服务器硬盘驱动器上的实际路径,即使它们可能不是您可以依赖的行为。因此,您的文件位于FTP服务器中/admin/stock_update.php
的事实并未说明磁盘上的实际位置,这是本地命令行实用程序所期望的。
在PHP中,您可以使用__FILE__
魔术常量在当前文件的磁盘上找到路径。您可以创建测试脚本:
<?php
var_dump(__FILE__);
...将其上传到同一个FTP位置并通过Web服务器执行。如果这不是一个选项,因为您的FTP帐户中的文件在网络上不可见,您可以从cron运行该文件并查看电子邮件。
答案 1 :(得分:0)
您是否在该服务器和CageFS filestyem上安装了CloudLinux内核?如果是,请尝试运行:
cagefsctl -w cpaneluser; cagefsctl -m cpaneluser
然后再次尝试运行cron