Google Sitemap for Opencart上的Cronjobs-找不到php-cli命令

Opencart会即时生成其站点地图,这在超过10.000种产品的大型目录中是一个问题。因此,我修改了该功能以在XML文件中生成静态站点地图。

访问http://localhost/index.php?route=extension/feed/google_sitemap时,我会生成一个没有问题且执行时间不受限制的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”吗?

leo1988tanghui 回答:Google Sitemap for Opencart上的Cronjobs-找不到php-cli命令

您无法执行此操作,因为仅在通过服务器调用脚本时才以这种方式评估URL参数。但是,一种快速的解决方案是使用wget:将该站点地图脚本的副本保留在某种“秘密URL”下的任何位置,使用wget进行调用,然后将结果放入磁盘。

如果无法使用wget,则可以使用包含file_get_contents的PHP脚本。同样,它可以通过HTTP请求来请求数据,并将其保存在缓存的站点地图文件中。

请注意:如果您知道应该使用哪种逻辑来生成该站点地图,则还可以将所有逻辑直接写到PHP脚本中。从外壳运行它有助于避免服务器线程被阻塞,但是可能会做更多的工作

,

https://stackoverflow.com/a/62145786/4843247

您可以使用以下命令来生成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
本文链接:https://www.f2er.com/3159999.html

大家都在问