我正在开发一个PHP项目,我需要将.slim(http://slim-lang.com/)文件转换为常规HTML。从PHP运行Ruby脚本
不幸的是,似乎这样做的唯一方法是通过使用Ruby,因为我无法找到任何纤巧的PHP解析器。
但是,我对ruby完全陌生,以前从未使用过它。无论如何,我将不得不从PHP执行一个.rb文件来完成转换。
但是,我无法设置红宝石运行正常(我相信)。
我建立一个文件夹(苗条)与下列:
的Gemfile
source 'https://rubygems.org'
gem "listen"
gem "slim"
gem "sass"
Gemfile.lock的
GEM
remote: https://rubygems.org/
specs:
ffi (1.9.0)
listen (1.3.0)
rb-fsevent (>= 0.9.3)
rb-inotify (>= 0.9)
rb-kqueue (>= 0.2)
rb-fsevent (0.9.3)
rb-inotify (0.9.1)
ffi (>= 0.5.0)
rb-kqueue (0.2.0)
ffi (>= 0.5.0)
sass (3.2.10)
slim (2.0.1)
temple (~> 0.6.6)
tilt (>= 1.3.3, < 2.1)
temple (0.6.6)
tilt (1.4.1)
PLATFORMS
ruby
DEPENDENCIES
listen
sass
slim
main.rb的
require 'listen'
require 'slim'
# if source folder specified
if ARGV[0]
Listen.to!(ARGV[0], :filter => /\.slim$/) do |modified, added|
modified.each do |modified_file|
system("slimrb --pretty #{modified_file} > #{modified_file.gsub('.slim','')}.html --trace")
end
end
end
所以从我个人理解,这应该得到任何文件与.slim扩展,并将其转换为.html
然后在我的PHP我有:
<?php
$pathToRB = "http://example.com/path/to/ruby/file/main.rb";
exec($pathToRB);
?>
不幸的是,虽然没有做任何事情。我非常肯定这与在服务器上运行ruby或某事有关,但正如我所说,我完全不熟悉它,不确定如何启动它并运行。
任何帮助,非常感谢。
您如何期望web服务器运行Ruby脚本本身?为什么不使用'系统'功能或类似的功能? –
我试过系统,仍然不起作用。就像我说的,很确定这是与红宝石有关 – user3143218
你尝试了什么?你明白你在做什么? –