|
|
|
подключение к удаленному mysql из php
|
|||
|---|---|---|---|
|
#18+
Добрый день! Ситуация такая: есть два сервера: один - базы данных, второй - веб. Соответственно, используется Mysql и PHP. Коннект к базе должен происходить не на локалхост, а на другой сервер. Но дело в том, что скрипты пишут: Can't connect to MySQL server on '192.168.15.135' (13) Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) файла mysql.sock, к слову сказать, нет вообще (на машине веб-сервера не установлен mysql-сервер). Но я так понимаю, что он пытается подключиться к локалхосту, когда не может найти удаленный хост. Так вот, запара в том, что не может найти удаленный. Из командной строки подключение к удаленному mysql функционирует, сервер пинугется. Подскажите, пожалуйста, куда копать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 19:24 |
|
||
|
подключение к удаленному mysql из php
|
|||
|---|---|---|---|
|
#18+
inell, Ерунда какая то.... Простейшее Код: plaintext 1. 2. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 19:57 |
|
||
|
подключение к удаленному mysql из php
|
|||
|---|---|---|---|
|
#18+
IP именно скуль-сервера. Веб-сервер висит на 192.168.15.136. Mysql запущен в стандартном режиме демона, к нему, как я говорил, из командной строки с веб-сервера под пользователем, который указан в скрипте, подключение происходит без проблем. Проблема именно при соединении из php. Самое еще то, что в логах mysqld не зафиксировано вообще никаких обращений к серверу БД в случае запуска скрипта. То есть не пускает конкретно веб-сервер.. и не понятно, что может так избирательно действовать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 20:10 |
|
||
|
подключение к удаленному mysql из php
|
|||
|---|---|---|---|
|
#18+
Если обычные вещи не работают, надо терзать поддержку. Теоретически на хостинге могут закрыть исходящие соединения на основе информации об UID процесса. Оставят,например, только для 80 порта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 22:06 |
|
||
|
подключение к удаленному mysql из php
|
|||
|---|---|---|---|
|
#18+
и кстати, зачем вам вообще удаленный сервер? хостинг где php часом не бесплатный? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 22:08 |
|
||
|
подключение к удаленному mysql из php
|
|||
|---|---|---|---|
|
#18+
> Если обычные вещи не работают, надо терзать поддержку. +1 Возможно, модуль php-mysql сконфигурирован каким то странным образом, что разрешает коннект только через сокет на локалхост. Это на уровне предположения. Не знаю точно, возможно ли так накрутить. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 23:16 |
|
||
|
подключение к удаленному mysql из php
|
|||
|---|---|---|---|
|
#18+
Can't connect to MySQL server on '192.168.15.135' (13) - а кстати в скобках это у нас код ошибки mysql. в линуксе 13 означает OS error code 13: Permission denied То есть, это почти наверняка файрволл запрещает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 23:20 |
|
||
|
подключение к удаленному mysql из php
|
|||
|---|---|---|---|
|
#18+
попробую утром в файервол посмотреть... речь идет не о хостинге, а о собственных внутреорганизационных серверах, так что терзаться самому)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 01:19 |
|
||
|
подключение к удаленному mysql из php
|
|||
|---|---|---|---|
|
#18+
ну тогда для чистоты эксперимента нужно переключиться в того пользователя из под которого запускается php (su - ) и тогда уже подключаться клиентом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 01:27 |
|
||
|
подключение к удаленному mysql из php
|
|||
|---|---|---|---|
|
#18+
попробовал экмперимент, правда, под пользователем apache заходить не стал, так как неизвестен его пароль по умолчанию. Попробовал запустить сервер от обычного локального пользовтаеля, из которого запускал mysql-клиент. Ситуация та же... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 09:58 |
|
||
|
подключение к удаленному mysql из php
|
|||
|---|---|---|---|
|
#18+
Эксперимент должен быть такой: на удаленной машине запускаете MySQL-клиента и пытаетесь осуществить коннект к серверу. Код: plaintext Если соединиться удалось, значит внешний доступ есть (тогда смотрим машину с PHP), если не удалось, значит на сервере где запущен MySQL ограничен доступ (проверяем локально наличие коннекта из клиента с указанными параметрами или смотрим через netstat висит ли какой-нибудь сервис на порту 3306), затем копаемся в настройках файрвола (должен быть открыт порт 3306) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 10:08 |
|
||
|
подключение к удаленному mysql из php
|
|||
|---|---|---|---|
|
#18+
inell, и что, root тоже неизвестен? нету у apache/www-data/nobody пароля никакого вообще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 10:15 |
|
||
|
подключение к удаленному mysql из php
|
|||
|---|---|---|---|
|
#18+
Kachalov, вот именно, что из шелла коннектится нормально, на стандартный порт, а из скрипта не хочет. root известен, конечно же, а с паролем на апач я протупил) Посмотрел в фаервол (ОС, кста, CentOS 5.4), там никаких блокировок исходящих подключений нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 17:39 |
|
||
|
подключение к удаленному mysql из php
|
|||
|---|---|---|---|
|
#18+
inell, ну еще пяток вариантов заблокировать сеть можно придумать в этом случае. но зачем, если можно просто проверить? переключитесь в пользователя apache (su - apache) и уже оттуда запустите программу-клиент "mysql -h.." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2010, 19:19 |
|
||
|
подключение к удаленному mysql из php
|
|||
|---|---|---|---|
|
#18+
под пользователе apache подключится.... а из скрипта - нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 14:19 |
|
||
|
подключение к удаленному mysql из php
|
|||
|---|---|---|---|
|
#18+
inell, сложно сказать что-то по переписке. как насчет проверить верность кода php с помощью запуска php без апача ? /usr/bin/php вашскрипт.php ? если с апачем то потребуется остановить все остальные приложения и запустить apache под наблюдением отладчика strace -f . будет очень много информации, но где-то там вы увидите пытается ли открыться соединение, куда именно и как. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 15:06 |
|
||
|
подключение к удаленному mysql из php
|
|||
|---|---|---|---|
|
#18+
имеет смысл глянуть phpinfo()? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 15:08 |
|
||
|
подключение к удаленному mysql из php
|
|||
|---|---|---|---|
|
#18+
был удивлен, "/usr/bin/php вашскрипт.php" работает, обращение к базе данных идет... а вот из-под апача - нет. phpinfo() про mysql авторConfigure Command './configure' '--build=i686-redhat-linux-gnu' '--host=i686-redhat-linux-gnu' '--target=i386-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' '--with-libdir=lib' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--disable-debug' '--with-pic' '--disable-rpath' '--without-pear' '--with-bz2' '--with-curl' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--enable-gd-native-ttf' '--without-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-png' '--with-pspell' '--with-expat-dir=/usr' '--with-pcre-regex=/usr' '--with-zlib' '--with-layout=GNU' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-track-vars' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--with-kerberos' '--enable-ucd-snmp-hack' '--with-unixODBC=shared,/usr' '--enable-memory-limit' '--enable-shmop' '--enable-calendar' '--enable-dbx' '--enable-dio' '--with-mime-magic=/usr/share/file/magic.mime' '--without-sqlite' '--with-libxml-dir=/usr' '--with-xml' '--with-system-tzdata' '--with-apxs2=/usr/sbin/apxs' '--without-mysql' '--without-gd' '--without-odbc' '--disable-dom' '--disable-dba' '--without-unixODBC' '--disable-pdo' '--disable-xmlreader' '--disable-xmlwriter' additional .ini files parsed /etc/php.d/dbase.ini, /etc/php.d/mysql.ini, /etc/php.d/mysqli.ini, /etc/php.d/pdo.ini, /etc/php.d/pdo_mysql.ini, /etc/php.d/pdo_sqlite.ini mysqlMySQL Support enabled Active Persistent Links 0 Active Links 0 Client API version 5.0.77 MYSQL_MODULE_TYPE external MYSQL_SOCKET /var/lib/mysql/mysql.sock MYSQL_INCLUDE -I/usr/include/mysql MYSQL_LIBS -L/usr/lib/mysql -lmysqlclient mysqliMysqlI Support enabled Client API library version 5.0.77 Client API header version 5.0.45 MYSQLI_SOCKET /var/lib/mysql/mysql.sock ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 15:31 |
|
||
|
подключение к удаленному mysql из php
|
|||
|---|---|---|---|
|
#18+
inellбыл удивлен, "/usr/bin/php вашскрипт.php" работает, обращение к базе данных идет... а вот из-под апача - нет. phpinfo() про mysql авторConfigure Command './configure' ... '--without-mysql' ... Пересобрать наверно надо пхп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 15:49 |
|
||
|
подключение к удаленному mysql из php
|
|||
|---|---|---|---|
|
#18+
gR4mm , да, меня эта строчка тоже удивила. Однако-таки из шелла скрипт работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 15:59 |
|
||
|
подключение к удаленному mysql из php
|
|||
|---|---|---|---|
|
#18+
gR4mm,так бывает нужно в пакетных дистрибутивах --without-чевототам, а потом делают отдельные пакеты с библиотеками, это нормально. если не пытаться неумело собирать самому. есть подозрения, что профиль selinux запрещает апачу внешние соединения. я бы его (selinux и apparmor )вообще запретил. по поиску находится масса howto как это сделать (http://www.cyberciti.biz/faq/howto-disable-httpd-selinux-security-protection/). Очевидно, проблема довольно частая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 16:27 |
|
||
|
подключение к удаленному mysql из php
|
|||
|---|---|---|---|
|
#18+
Спасибо на наводку! Только в моем случае файл называется /etc/selinux/targeted/policy и выглядит несколько странно. Да, там есть строчка про httpd_disable_trans, а вот дальше у все ппараметром идет что-то типа набора <97>^@^@^@^@^@^@^@^R^@^@^@ и потом в строку следующий параметр и так далее. как это править, не подскажете? semanage не проинстален ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 09:18 |
|
||
|
подключение к удаленному mysql из php
|
|||
|---|---|---|---|
|
#18+
может файл побился? да удалите вы вообще этот selinux, чтобы хотя бы проверить в нем ли дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 15:16 |
|
||
|
|

start [/forum/topic.php?fid=25&msg=36704609&tid=1484854]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
166ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 454ms |

| 0 / 0 |
