1

首先,我想告诉你,我对 Ruby 一个字都不知道。

但我有一个从网上下载的 ruby​​ 文件。

但是那个文件会给我一些我在我的 php 页面上需要的答案。

那么有什么办法,我们可以将参数传递给 ruby​​ 文件,然后脚本将运行,并且我可以将输出返回到我的 php 页面。

或者我必须在 php 中转换那个 ruby​​ 文件(我也不知道它是否可能)

以及如何将值传递给 ruby​​ 文件并在我的服务器上运行该文件并将结果发送到我的 php 页面?

4

2 回答 2

3

首先,您必须安装 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 bundlesrubygemsjson),要么实际的 gem 名称不同。谷歌是你的朋友。

然后你可以从 PHP 调用这个脚本。我相信您可以system()为此使用 call 。

于 2012-04-16T09:59:46.580 回答
0

php.net/manual/en/function.shell-exec.php 您可以执行命令并获取输出,但这需要安装 ruby​​ .. 尝试使用 json 或 XML 代替 ruby​​ 文件..

于 2012-04-16T10:36:23.463 回答