在Google Sitemap for Opencart上找不到Cronjobs-Php cli命令

在Google Sitemap for Opencart上找不到Cronjobs-Php cli命令,php,cron,opencart,Php,Cron,Opencart,Opencart动态生成其站点地图,这是一个在超过10000种产品的大目录中存在的问题。因此,我修改了该函数以在XML文件中生成静态站点地图 当我访问我的站点时,我会生成一个sitemap-google.xml文件,没有问题,并且执行时间不受限制 我试图每4小时将其添加到开发服务器的cron中 0 0,4,8,12,16,20 /usr/bin/php /path/to/index.php?route=extension/feed/google_sitemap 但我收到一个“未找到命令” 我可

Opencart动态生成其站点地图,这是一个在超过10000种产品的大目录中存在的问题。因此,我修改了该函数以在XML文件中生成静态站点地图

当我访问我的站点时,我会生成一个sitemap-google.xml文件,没有问题,并且执行时间不受限制

我试图每4小时将其添加到开发服务器的cron中

0 0,4,8,12,16,20 /usr/bin/php /path/to/index.php?route=extension/feed/google_sitemap
但我收到一个“未找到命令”


我可以在cli上执行“params/etc”吗?

您不能这样做,因为URL参数只有在通过服务器调用脚本时才会以这种方式计算。但是一个快速的解决方案可能是使用
wget
:将该站点地图脚本的副本保存在某种“秘密URL”下的任何位置,使用
wget
调用它,并将结果放在磁盘上

如果不能使用
wget
,可以使用包含
file\u get\u内容的PHP脚本。同样,它可以通过HTTP请求请求数据,并将其保存在缓存的站点地图文件中

需要注意的是:如果您知道应该存在哪些逻辑来生成该站点地图,那么还可以将所有这些逻辑直接写入PHP脚本。从shell运行它有助于避免阻塞的服务器线程,但可能需要更多的工作

您可以使用以下命令生成sitemap.xml:

cd /PATH_TO_YOUR_WWW_ROOT && QUERY_STRING="route=extension/feed/google_sitemap" php -r 'parse_str($_SERVER["QUERY_STRING"],$_GET);include "index.php";' >sitemap.xml.new && mv sitemap.xml.new sitemap.xml

我不能使用wget:(在http请求中,我收到cdn服务器的超时错误。但非常感谢。@davincy请查看我编辑的答案-可能会有帮助?再次感谢你,我是一个初学者,所以我会处理你告诉我的一切。