У меня проблема с подключением моих скриптов eRuby к моей базе данных MySQL.
Я написал короткий тестовый сценарий только для того, чтобы устранить начальные ошибки подключения:
<%
require 'mysql'
begin
dbh = Mysql::new("localhost", "test", "wahssf", "amg")
rescue Mysql::Error => e
print "Error code: #{e.errno}<br />"
print "Error message: #{e.error}<br />"
print "Error SQLSTATE: #{e.sqlstate}" if e.respond_to?("sqlstate")
ensure
dbh.close if dbh
end
%>
Теперь, пока я сохраняю параметры соединения как gibberish ("test", "wahssf", "amg"), сценарий по умолчанию использует класс Mysql::Error
и выводит в браузер следующее:
Error code: 1045
Error message: Access denied for user 'test'@'localhost' (using password: YES)
Error SQLSTATE: 28000
Однако, как только я ввожу РЕАЛЬНЫЕ значения соединения и перезагружаю страницу, сценарий завершается ошибкой (по какой-то причине?), И я получаю HTTP 500 Internal Server Error
.
Я понятия не имею, в чем проблема. Пока комбинация имени пользователя и пароля неверна, скрипт «работает», но, очевидно, не подключается, но как только я предоставлю ему правильные учетные данные, он не будет работать.
Есть идеи?
Также, что стоит упомянуть: когда я выполняю этот скрипт, набирая его построчно через irb
в командной строке, он работает. Это только , кажется, является проблемой в eRuby.
Vitals:
Apache 2.2.8 работает на Fedora Core 7
MySQL 5.0. * (Gem mysql
версия 2.8.1)
Рубин 1.9.2