Обращение из CGI скрипта к MySQL не проходит... (SentOS 6)
Совсем все непонятно...
Скрипт локально подключается к MySQL
А когда через Apache тот же самый скрипт вызываю:
# ERR: Can't connect to MySQL server on '127.0.0.1' (13) (MySQL error code: 2003, SQLState: HY000 )
Уже нервы не выдерживают...
Извините....
Скрипт локально подключается к MySQL
А когда через Apache тот же самый скрипт вызываю:
# ERR: Can't connect to MySQL server on '127.0.0.1' (13) (MySQL error code: 2003, SQLState: HY000 )
Уже нервы не выдерживают...
Извините....
Куда-то делось сообщение... Ха....
Пардон... Все нормально...
Пардон... Все нормально...
Спокойно описываю ситуацию:
Я написал скрипт с помощью MySQL connector c++, который обращается к MySQL.
Когда я запускаю его с консоли сервера SentOS. Все работает нормально.
Running 'SELECT 'Hello World!' AS _message'...
... MySQL replies: Hello World!
... MySQL says it again: Hello World!
А кода я вызываю его с удаленного компьютера, к примеру
http://10.208.22.16/cgi-bin/test1
Он выдаёт:
Running 'SELECT 'Hello World!' AS _message'...
# ERR: SQLException in test1.cpp(main) on line 47
# ERR: Can't connect to MySQL server on '127.0.0.1' (13) (MySQL error code: 2003, SQLState: HY000 )
Если выключаю MySQL - картинка не меняется. Что-то не дает скрипту обратится к MySQL.
К примеру: http://sigmavet.ru/cgi-bin/test1 - На такой же SentOS - все работает
А на моём сервере (такой же SentOS) - такая же версия SentOS, Apache и MySQL - не работает. Хоть ты тресни!
Специально собирал, что бы отрабатывать скрипты дома, а на рабочий сервер только выкладывать результаты...
Хоть что-нибудь посоветуйте.... Всю голову сломал...
С уважением,
Павел.
Я написал скрипт с помощью MySQL connector c++, который обращается к MySQL.
Когда я запускаю его с консоли сервера SentOS. Все работает нормально.
Running 'SELECT 'Hello World!' AS _message'...
... MySQL replies: Hello World!
... MySQL says it again: Hello World!
А кода я вызываю его с удаленного компьютера, к примеру
http://10.208.22.16/cgi-bin/test1
Он выдаёт:
Running 'SELECT 'Hello World!' AS _message'...
# ERR: SQLException in test1.cpp(main) on line 47
# ERR: Can't connect to MySQL server on '127.0.0.1' (13) (MySQL error code: 2003, SQLState: HY000 )
Если выключаю MySQL - картинка не меняется. Что-то не дает скрипту обратится к MySQL.
К примеру: http://sigmavet.ru/cgi-bin/test1 - На такой же SentOS - все работает
А на моём сервере (такой же SentOS) - такая же версия SentOS, Apache и MySQL - не работает. Хоть ты тресни!
Специально собирал, что бы отрабатывать скрипты дома, а на рабочий сервер только выкладывать результаты...
Хоть что-нибудь посоветуйте.... Всю голову сломал...
С уважением,
Павел.
Добрый вечер, модератор!
Я утром добавил сообщение, а оно все модерируется...
Я утром добавил сообщение, а оно все модерируется...

AiK писал(а):Ну я с линуксом скорее на Вы... Как я понимаю, курить надо содержимое файла /etc/my.cnf (не в курсе где конфиг мускуля в центоси штатно валяется) и медитировать над наличием строчкиКод: Выделить всё
[mysqld] bind-address = 127.0.0.1
А у меня не создается /etc/my.cnf (!!!)
Не знаю почему...
Ну, минимум сервер у нас запущен и вроде как слушает 3306 порт при любом варианте обращений.
Последовательность действий
1. telnet 127.0.0.1 3306 или telnet localhost 3306
2. Если не прокатило - копаем настройки iptables
Последовательность действий
1. telnet 127.0.0.1 3306 или telnet localhost 3306
2. Если не прокатило - копаем настройки iptables
Даже самый дурацкий замысел можно воплотить мастерски
AiK писал(а):Ну, минимум сервер у нас запущен и вроде как слушает 3306 порт при любом варианте обращений.
Последовательность действий
1. telnet 127.0.0.1 3306 или telnet localhost 3306
2. Если не прокатило - копаем настройки iptables
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape chararcter is '^]'
4
5.1.73/%g[qIYp0z8IE] (Jzl
Connection closed by foreign host.
--------------------
Тоже самое и для localhost
И что это значит?
На работающем сервере, где все работает - та же картина
sigmavet.ru/cgi-bin/test1
Running 'SELECT 'Hello World!' AS _message'...
... MySQL replies: Hello World!
... MySQL says it again: Hello World!
А у меня:
Running 'SELECT 'Hello World!' AS _message'...
# ERR: SQLException in test1.cpp(main) on line 48
# ERR: Can't connect to MySQL server on '127.0.0.1' (13) (MySQL error code: 2003, SQLState: HY000 )
По моему тут какая-то проблема с доступом исполнения скриптов в Apache.
Из консоли все скрипты работают!
Из консоли все скрипты работают!
Это значит, что удалось соединится с mysql сервером. То есть Firewall не при делах. Эту проблему исключили.И что это значит?
Возможно. Надо в консоли зайти от имени пользователя апача и попытаться выполнить скрипт...По моему тут какая-то проблема с доступом исполнения скриптов в Apache.
А вообще теперь гуглится вот такое волшебное сочетание
Код: Выделить всё
setsebool httpd_can_network_connect=1
Даже самый дурацкий замысел можно воплотить мастерски
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!!!!!!!!!!!
УРААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААА!!!!!!
ЗАРАБОТАЛО!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ЧЕТВЕРО СУТОК ПРАКТИЧЕСКИ НЕ СПАЛ!!!!!!!!!!
А как вам удалось это найти??!!!

А setsebool httpd_can_network_connect=1 - сохранится?
УРААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААА!!!!!!
ЗАРАБОТАЛО!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ЧЕТВЕРО СУТОК ПРАКТИЧЕСКИ НЕ СПАЛ!!!!!!!!!!
А как вам удалось это найти??!!!

А setsebool httpd_can_network_connect=1 - сохранится?