【问题标题】:Issue with calling php script with cron使用 cron 调用 php 脚本的问题
【发布时间】:2020-09-18 21:20:13
【问题描述】:

我已经设置了一个 cron 来调用一个 php 脚本来定期运行一些下载任务。 该网站托管在 Bluehost。我已按照有关如何设置 cron 的说明进行操作,并且基本上可以正常工作,但是行为与手动调用脚本时不同,我怀疑这与目录设置有关。使用 cron 时出现错误:

Warning: copy(wp-content/uploads/feeds/full/1.csv): failed to open stream: No such file or directory in /home1/user1/public_html/import/custom-downloader.php on line 86 

我的php代码是copy( $row["externalURL"] , 'wp-content/uploads/feeds/full/'. $localfilename );

我也在下面尝试了相同的结果。

copy( $row["externalURL"] , $_SERVER['DOCUMENT_ROOT'].'wp-content/uploads/feeds/full/'. $localfilename );

我认为我需要构建到/home1/user1/public_html/import/wp-content/uploads/feeds/full/ 的路径,但我不知道该怎么做。

【问题讨论】:

  • 从 cron 运行 PHP 时,使用 chdir 切换到 PHP 预期运行的目录可能会有所帮助。如果您的脚本从特定目录运行并按预期工作,请使用 chdir 更改到脚本顶部的该目录。

标签: php wordpress cron


【解决方案1】:

首先,确保 1.csv 存在并且可以读取(文件有读取权限)

第二件事,仔细检查“wp-content/uploads/feeds/full/1.csv”是否真的是您想要复制的内容。您的错误消息表明调用复制方法的php脚本是/home1/user1/public_html/import/custom-downloader.php。但是,您指定的路径是相对。因此,您的 PHP 脚本(除非对 PATH 进行任何更改以查找其他目录)将查找 /home1/user1/public_html/import/wp-content/uploads/feeds/full/1.csv - 这可能不是您的故意的!

这可以通过使用 wp-content 文件夹的绝对路径,或者将此脚本移动到 wp-content 的父目录来解决。

【讨论】:

    猜你喜欢
    • 2011-04-21
    • 1970-01-01
    • 1970-01-01
    • 2014-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-25
    • 2017-06-04
    相关资源
    最近更新 更多