我正在编写一个 WordPress 插件 php,下一步是对该插件进行某种添加。
该插件会从网络上抓取数据,发送表单等。在我对 WordPress 插件有任何想法之前,我就已经准备好了这部分 - 它的编码为使用机械化的红宝石。无论如何,我还没有在 php 中找到类似于 mechanize 的东西。
但我不知道最好的方法是什么从 Wordpress 调用我的 ruby 脚本。一些任务将由 cron 管理。那些基于用户请求的呢?
- PHP脚本仅触发器红宝石脚本。它不会等待/需要 ruby 输出中的任何内容
- Wordpress 插件完全可移植且功能齐全没有红宝石脚本。 Ruby 还添加了更多东西。如果有人需要的话。
- 一切都将在我拥有 root 访问权限的 Linux 服务器上运行
依赖 Ruby 的 WordPress 插件无法移植。不过,如果您是唯一使用它的人,那也没关系。
如果 Ruby 脚本需要返回一个由调用它的 PHP 脚本立即使用的结果,那么类似exec()是唯一的办法。确保转义传递给 Ruby 脚本的所有参数;否则你将很容易受到注入攻击。
如果 Ruby 脚本不需要立即返回结果(例如一些后台处理,例如缩略图生成),那么我认为最好的方法是 PHP 脚本将一行插入 MySQL 数据库或类似的数据库。 Ruby 脚本可以在后台工作或从 cron 运行,定期检查数据库是否有新作业,并执行所需的任何处理。这种方法避免了 exec() 的性能开销和安全问题,并且可以说它更具可扩展性。 (类似的方法是让 Ruby 脚本侦听套接字,然后您的 PHP 脚本将连接到该套接字。但这需要更多工作才能正确完成。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)