Ruby Gem LoadError в веб-браузере, но отлично работает на SSH

Я пытаюсь запустить скрипт Ruby, который очищает какой-то URL-адрес и выполняет его из PHP.

Это мой код PHP:

PHP:

$url = 'https://www.example.com';

$result= shell_exec("ruby script.rb $url");

// Or     $result = `ruby script.rb "$url" 2>&1`; to Debug

echo 'result is:';

echo $result;

Рубиновый код:

require 'time'
require 'mechanize' //* or require 'nokogiri', doesn't matter * //

url = ARGV.first

begin
page = Mechanize.new.get(url).content
result = page.match(/findMe: "\$(.+)"/)[1].tr(',', '')

# Uncomment following line to see date and time in output
# output = Time.now.strftime('[%F %T %z] ') + result

# Uncomment following line to see only result in output
output = result

# Output the result on terminal
puts result

rescue => detail
puts detail.message
end

Из SSH я могу нормально выполнить PHP:

php run.php

Но когда я пытаюсь загрузить этот файл PHP из веб-браузера, я получаю:

результат: script.rb: 2: в `require ‘: нет такого файла для загрузки — механизировать
(LoadError) из script.rb: 2

Я попытался определить пути, используя PWD для полного пути сценария ruby, и ruby which чтобы найти путь к самому рубину, но это ничего не изменило.

Три разработчика Ruby, которые я взял, до сих пор не могли понять это.

Сервер работает под управлением Apache.

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]