我需要在Debian 8上通过PHP执行一个Ruby文件。 Apache服务器。
当前代码如下所示
exec('/usr/local/rvm/rubies/ruby-2.1.1/bin/ruby /var/www/project/_backend/pull-data.rb clients', $null, $returnVal);
echo intval($returnVal);
在此示例中,$returnVal
(请参阅exec())返回1,这可能缺少执行特定文件的权限。
pull-data.rb
的当前权限:
-rwxr-xr-x 1 www-data www-data pull-data.rb
当php脚本调用ruby exec命令时,观察Apache错误日志会出现加载错误:
`require': cannot load such file -- mysql2 (LoadError)
安装MySQL2 gem并通过shell ruby
命令执行Ruby文件就可以正常工作。
谢谢, 罗马