首先,我想告诉你,我对 Ruby 一个字都不知道。
但我有一个从网上下载的 ruby 文件。
但是那个文件会给我一些我在我的 php 页面上需要的答案。
那么有什么办法,我们可以将参数传递给 ruby 文件,然后脚本将运行,并且我可以将输出返回到我的 php 页面。
或者我必须在 php 中转换那个 ruby 文件(我也不知道它是否可能)
以及如何将值传递给 ruby 文件并在我的服务器上运行该文件并将结果发送到我的 php 页面?
首先,您必须安装 ruby。最简单的方法可能是使用操作系统的包管理器来安装“stock”ruby(在 ubuntu 中类似于sudo apt-get install ruby
)。然而,如今的 ruby 社区倾向于使用RVM之类的工具,这些工具可以让您轻松安装和使用多个 ruby。对于您的情况,这是一种矫枉过正(恕我直言)。
然后,您必须安装 ruby 脚本所需的所有 gem(依赖项)。你可以通过阅读源代码来解决这个问题。通常,所有依赖项将以require 'xxx'
. 通常,其中的名称require
是宝石的名称。所以,如果你看到require 'nokogiri'
了,你就知道你必须跑了gem install 'nokogiri'
。如果这不起作用 - 那么所需的模块要么与 ruby 捆绑在一起(例如 ruby 1.9 bundlesrubygems
和json
),要么实际的 gem 名称不同。谷歌是你的朋友。
然后你可以从 PHP 调用这个脚本。我相信您可以system()
为此使用 call 。
php.net/manual/en/function.shell-exec.php 您可以执行命令并获取输出,但这需要安装 ruby .. 尝试使用 json 或 XML 代替 ruby 文件..