Возникла проблема с переносом drupal 6 с одного хостинга, на хостинг orc.ru(newhost.ru). На orc.ru подключение к БД через localhost как я понял не возможно, нужно прописывать путь к соккету. Обгуглил в инете все до косточек, но так и не понял как можно поменять запись вида:
$db_url = 'mysql://username:password@localhost/databasename';
Таким образом чтобы:
1) имя пользователя root
2) пароля нет.
3) указать подключение через соккет.
Путь к соккету выглядит образом /home/username/run/mysql.sock
Буду очень благодарен, так как уже долго мучаюсь.
Комментарии
Попробуй через mysqli: вместо mysql: А лучше уточнить у хостера как и куда коннектиться.
Пробовал и через mysqli, не помогло. А саппорт хостера пока молчит. В FAQ-е и на форумах написано то же что и я написал, что нужно прописывать путь к соккету. Путь к соккету выглядит таким образом: /home/username/run/mysql.sock. Как бы его записать в файл settings.php?
Возможно по аналогии с http://forum.drupal.ru/node/1229 база мускула лежит не на том же компе (localhost), а на другом, уточните на всякий случай.
Увы, не то. Фишка на этом хостинге в том что подключение к БД возможно только с локалхоста но через соккет. Подключение к БД из сети не возможно. Сама БД находится на том же хосте.
Видел в сети что возможно прописать путь к соккету БД напрямую в этой же строке, но как конкретно прописать не нашел.
В общем-то, если кому нужно будет. Путь к соккету прописывается так:
$db_url = 'mysql://username:password@%3A%2Fhome%2Fusername%2Frun%2Fmysql.sock/database';
после %3A начинается путь к соккету. %2F - слеши.
Даже узнав это, увы, проблема видать в чем-то другом. С хостинга на локальную машину перенес и поставил в два счета, на newhost.ru долбался с вчерашнего вечера, и так успехов никаких. Сам хостер на письма то ли не отвечает, то ли выходные у них(хотя написано что круглосуточная поддержка).
используй EMS MySQL Manager 4+ версии - у него есть поддержка PHP туннелирования - закачиваешь в папку сайта соответствующий PHP файл и работаешь через него с БД. Сервер "считает", что это сайт обращается к БД.
elia
Спасибо, не потребовалось. Собственно с саппорта newhost.ru пришло письмо в котором было уточнено как именно производиться подключение к БД. К БД подключение происходит через соккет, путь к которому указывается в файле httpd.conf в виде:
php_admin_value mysql.default_socket /home/username/run/mysql.sock
В settings.php в drupal подключение происходит через стандартный localhost.
Проблема решена.