Wordpress / PHP创建页面的静态副本

时间:2019-09-15 14:14:26

标签: php wget static-pages

我需要从动态页面制作一个静态页面,下载所有资产并将所有链接转换为本地链接,然后将其下载到某个tmp文件夹中。就像在浏览器中按Ctrl + S时一样。我尝试将wgetshell_exec结合使用:

shell_exec("wget -E -H -k -p http://youmightnotneedjquery.com/  2>&1");

问题是,当我从控制台运行它时,它可以完美运行,但是当我使用shell_exec时,会出现错误消息

  

权限被拒绝youmightnotneedjquery.com/index.html:没有此类文件   或目录无法写入'youmightnotneedjquery.com/index.html'   (没有此类文件或目录)。

据我了解,权限存在一些问题,我尝试创建一个单独的目录 具有较高的权限,并拥有www-data作为所有者,并在命令中使用-O标志将其指定,但是出现一个错误,我无法同时使用-k和-O标志。因此,我希望获得许可才能解决该问题,但是我仍然必须以某种方式指定目标文件夹。也许有一种不带wget的php解决方案,我可以使用,因为这似乎并不难,但需要做很多工作。

2 个答案:

答案 0 :(得分:0)

您可以尝试类似的方法 shell_exec("cd some_nice_dir && wget ...")

您可能还想阅读man wget,因为关于-O与您指定的其他几个选项之间的干扰,它有很多话要说。

答案 1 :(得分:0)

使用-P标志帮助创建具有拥有www-data的文件夹

shell_exec("wget -E -H -k -p http://mysite.local/ -P some-temp-folder 2>&1")