使用PHP

时间:2018-04-08 02:00:16

标签: php mysql xml linux bash

我有一个PHP网站,它解析XML并在网页上显示它。 XML文件经常更改,因此更改网页。它每30分钟改变一次。

我希望能够获取XML数据并将其插入到我的MySQL数据库中。但是,每次更新XML时都找不到将数据插入数据库的方法,因为必须涉及客户端,如果在30分钟内访问了多个页面,数据将被多次插入时间跨度。

每次更新XML文件时,我希望我的数据如下:

XML - > PHP - >数据库

这可能是不可能的,所以我理解我可能必须使用单独的脚本语言来使用措辞的XML内容来更新数据库。由于XML更改必须触发数据库更新,因此在这种情况下PHP可能不起作用。 XML通过简短的Bash脚本更新。我研究过使用BASH但是它似乎不适合解析XML和更新数据库,而且对我来说这将是一个巨大的学习曲线。 我在Ubuntu机器上运行它。

任何建议和帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

感谢史密斯和蒂姆莫顿,我找到了解决方案。

我创建了一个单独的PHP文件,它将XML解析为变量并将数据插入数据库。

要运行更新XML文件的Nmap脚本,我使用了一个调用bash脚本的cron作业。在运行Nmap之后的bash脚本中,我将目录位置更改为包含我的脚本的文件夹以及我的XML文件。然后我用PHP CLI运行PHP文件(php -f /xxx/xxx/php.php)。

因此,我没有使用触发器来查明XML文件是否发生了变化,而是在另一个在同一个bash脚本中调用的PHP文件中更新了数据库。

IT工作原理如下:

             Cron job > BASH script > Run Nmap       > update XML
                                    > call PHP file  > update database

再次感谢,SmithTim Morton