Wordpress/PHP 创建页面的静态副本
Wordpress/PHP create a static copy of the page
我需要从动态页面制作一个静态页面,下载所有资产并将所有链接转换为本地链接,并将其下载到某个 tmp 文件夹中。就像您在浏览器中按 Ctrl+S 一样。我尝试将 wget
与 shell_exec
:
一起使用
shell_exec("wget -E -H -k -p http://youmightnotneedjquery.com/ 2>&1");
问题是当我从控制台 运行 时它工作得很好,但是当我使用 shell_exec
时,我得到一个错误
Permission denied youmightnotneedjquery.com/index.html: No such file
or directory Cannot write to 'youmightnotneedjquery.com/index.html'
(No such file or directory).
据我了解,权限存在一些问题,我尝试创建一个单独的目录
具有一些高权限和 www-data 作为所有者并使用 -O 标志在命令中指定它,但我收到一个错误,我不能同时使用 -k 和 -O 标志。所以我希望在获得许可的情况下解决这个问题,但我仍然必须以某种方式指定目标文件夹。或者也许有一个 php 解决方案,我可以使用不带 wget 的解决方案,因为它看起来并不难,但需要做很多工作。
你可以试试类似
shell_exec("cd some_nice_dir && wget ...")
您可能还想阅读 man wget
,因为它有很多关于 -O
和您指定的其他几个选项之间的干扰的内容。
帮助使用 -P 标志并创建一个拥有 www-data 的文件夹
shell_exec("wget -E -H -k -p http://mysite.local/ -P some-temp-folder 2>&1")
我需要从动态页面制作一个静态页面,下载所有资产并将所有链接转换为本地链接,并将其下载到某个 tmp 文件夹中。就像您在浏览器中按 Ctrl+S 一样。我尝试将 wget
与 shell_exec
:
shell_exec("wget -E -H -k -p http://youmightnotneedjquery.com/ 2>&1");
问题是当我从控制台 运行 时它工作得很好,但是当我使用 shell_exec
时,我得到一个错误
Permission denied youmightnotneedjquery.com/index.html: No such file or directory Cannot write to 'youmightnotneedjquery.com/index.html' (No such file or directory).
据我了解,权限存在一些问题,我尝试创建一个单独的目录 具有一些高权限和 www-data 作为所有者并使用 -O 标志在命令中指定它,但我收到一个错误,我不能同时使用 -k 和 -O 标志。所以我希望在获得许可的情况下解决这个问题,但我仍然必须以某种方式指定目标文件夹。或者也许有一个 php 解决方案,我可以使用不带 wget 的解决方案,因为它看起来并不难,但需要做很多工作。
你可以试试类似
shell_exec("cd some_nice_dir && wget ...")
您可能还想阅读 man wget
,因为它有很多关于 -O
和您指定的其他几个选项之间的干扰的内容。
帮助使用 -P 标志并创建一个拥有 www-data 的文件夹
shell_exec("wget -E -H -k -p http://mysite.local/ -P some-temp-folder 2>&1")