使用PHP在服务器端获取Javascript/浏览器呈现的元素

使用PHP在服务器端获取Javascript/浏览器呈现的元素,javascript,php,css,Javascript,Php,Css,这是一个相当广泛的问题,但我希望有一个解决办法。我意识到,尝试在服务器端执行客户端完成的任何操作在术语上都有点矛盾,但我希望有一种方法可以在PHP中模拟客户端页面呈现 我有一个网站,可以转换使用php/mysql生成的报告以及来自api的数据。我还使用chart.js来显示图形。我的客户希望能够每月通过电子邮件将这些报告发送给他的客户。我认为cron-jobs可以实现这一点,但现在我一直在思考如何在没有浏览器的情况下生成内容 该网站托管在godaddy上,所以我没有comand line访问权限

这是一个相当广泛的问题,但我希望有一个解决办法。我意识到,尝试在服务器端执行客户端完成的任何操作在术语上都有点矛盾,但我希望有一种方法可以在PHP中模拟客户端页面呈现

我有一个网站,可以转换使用php/mysql生成的报告以及来自api的数据。我还使用chart.js来显示图形。我的客户希望能够每月通过电子邮件将这些报告发送给他的客户。我认为cron-jobs可以实现这一点,但现在我一直在思考如何在没有浏览器的情况下生成内容


该网站托管在godaddy上,所以我没有comand line访问权限或类似的权限。基本上只有ftp和mysql访问。

如果您有ssh访问权限,那么通过phantomjs和您的api,这项工作就变得容易多了。通过phantomjs创建HTML报告,并通过文件get content获取生成的内容。然后通过电子邮件发送

我想这里有一些选择。在您概述的特定案例中,只有1和2是合适的,但我在其中插入了3,因为它可能会帮助其他人。另请注意,如果GoDaddy有cPannel,您应该能够从那里设置cron作业,那么选项2可能是最合适的

选项1(最少工时):

渲染后,将图像发回服务器以通过电子邮件发送

选项2(最低技术):

对服务器端和客户端图表都使用PHP图表库。删除旧代码

选项3(关注点分离):


运行一个单独的NodeJS服务,这样您就可以使用与客户端渲染相同的代码进行服务器端渲染。从PHP服务调用它以获得渲染的图像。

找到一个可以生成图像并将其嵌入电子邮件的图表库。您也可以在前端使用相同的库,这样您就只有一个用于绘制图表的代码库。为什么您不能在本地使用
cron
?也许,您可以尝试使用指向客户端页面的cron,该页面可以生成用户可以看到的内容的缩略图,这样,您就可以将该缩略图存储在服务器上,并发送给用户。你不需要做这样的事。如果你只需要图表,试试这个:如果它能帮上忙的话。