The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Can't connect to local MySQL server through socket"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Др. сетевые сервисы / Linux)
Изначальное сообщение [ Отслеживать ]

"Can't connect to local MySQL server through socket"  +/
Сообщение от Jenik email on 10-Янв-12, 21:23 
Доброе время суток! Прошу помощи у знатоков!
Ситуация следующая. Захотел поставить LAMP из исходников.
apache поставил - работает. Через браузер откликается.
mysql поставил - работает. Могу зайти, создать базу и т.д.

php собрал с такими параметрами (в псоледний из разов):
./configure --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql/bin/mysql_config  --with-mysqli=/usr/local/mysql/bin/mysql_config --prefix=/usr/local/apache/php --with-config-file-path=/etc --with-zlib --with-gettext
make
make install
cp -p .libs/libphp5.so /usr/local/apache/modules
cp -p php.ini-development /usr/local/apache/php/php.ini (recommended почему-то не оказалось)
перезапустил апач.
в каталог /var/www/htdocs/ положил файлик info.php c phpinfo();
И вот тут момент уже начался. Пишет что --without-mysql
Если к этому же файлу обратиться через php info.php , то там --with-mysql=shared,/usr

В общем что-то странное подумал я и продолжил. Создал файлик с таким кодом:
<body>
<?php
$db = mysql_connect('localhost', 'monty', 'testtest') or die ("no connect");
mysql_select_db('sss2',$db);

$result = mysql_query('SELECT * FROM geography', $db);
$myrow = mysql_fetch_array($result);

echo $myrow['country'];
echo 'Hello!';
?>
</body>

Если к этому файлу обратиться через шел - php sss.php . То он показывает вывод из базы!!! И echo.
Если обратиться через браузер - пишет
Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (13) in /var/www/html/sss2.php on line 9
no connect

Что проверил: mysql.sock есть. Права 777 на mysql.sock. mysqld в процессах есть, с ним все в порядке.
Попробовал в скрипте сменить localhost на 127.0.0.1, получаю
Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on '127.0.0.1' (13) in /var/www/html/sss2.php on line 9
no connect

Пробовал играться с /etc/php.ini.
Поставил mysql.default_socket = /tmp/mysql.sock . Этим лишь добился такого пути в сокете, до этого это был /var/lib/mysql/mysql.sock
Поставил mysql.default_host = 127.0.0.1 - эффекта не дало.

В общем прошу помощи, ибо голова уже кипит

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Can't connect to local MySQL server through socket"  +/
Сообщение от кегна on 10-Янв-12, 22:33 
>[оверквотинг удален]
> с ним все в порядке.
> Попробовал в скрипте сменить localhost на 127.0.0.1, получаю
> Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on '127.0.0.1'
> (13) in /var/www/html/sss2.php on line 9
>  no connect
> Пробовал играться с /etc/php.ini.
> Поставил mysql.default_socket = /tmp/mysql.sock . Этим лишь добился такого пути в сокете,
> до этого это был /var/lib/mysql/mysql.sock
> Поставил mysql.default_host = 127.0.0.1 - эффекта не дало.
> В общем прошу помощи, ибо голова уже кипит

$ uname -a

$ sudo netstat -antup | grep 3306

$ mysql -u monty -p
> show databases;

а зачем в линуксе собирать из исходников?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Can't connect to local MySQL server through socket"  +/
Сообщение от Jenik email on 10-Янв-12, 22:49 
> $ uname -a

Linux localhost.test2 2.6.32-131.0.15.el6.i686 #1 SMP Sat Nov 12 17:30:50 CST 2011 i686 i686 i386 GNU/Linux

> $ sudo netstat -antup | grep 3306

tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      1718/mysqld  

> $ mysql -u monty -p
>> show databases;

| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sss2               |
| test              

> а зачем в линуксе собирать из исходников?

хороший способ научиться чему-т на линуксе:) действует


Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Can't connect to local MySQL server through socket"  +/
Сообщение от кегна on 10-Янв-12, 23:11 
>[оверквотинг удален]
> |
> +--------------------+
> | information_schema |
> | mysql          
>    |
> | performance_schema |
> | sss2          
>     |
> | test
>> а зачем в линуксе собирать из исходников?

а где база testtest?

> хороший способ научиться чему-т на линуксе:) действует

нет не хороший.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Can't connect to local MySQL server through socket"  +/
Сообщение от кегна on 10-Янв-12, 23:22 
>[оверквотинг удален]
>> | mysql
>>    |
>> | performance_schema |
>> | sss2
>>     |
>> | test
>>> а зачем в линуксе собирать из исходников?
> а где база testtest?
>> хороший способ научиться чему-т на линуксе:) действует
> нет не хороший.

ах да... ещё:
cat /etc/apache2/mods-enabled/php5.load

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

6. "Can't connect to local MySQL server through socket"  +/
Сообщение от Jenik email on 10-Янв-12, 23:26 
> ах да... ещё:
> cat /etc/apache2/mods-enabled/php5.load

cat: /etc/apache2/mods-enabled/php5.load: No such file or directory

p.s. Забыл написать. Система CentOS


Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

5. "Can't connect to local MySQL server through socket"  +/
Сообщение от Jenik email on 10-Янв-12, 23:24 
> а где база testtest?

testtest - это пароль
mysql_connect([ string $server [, string $username [,string $password]]])

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

7. "Can't connect to local MySQL server through socket"  +/
Сообщение от кегна on 10-Янв-12, 23:30 
>> а где база testtest?
> testtest - это пароль
> mysql_connect([ string $server [, string $username [,string $password]]])

видимо у вас не подключен модуль пхп....

у меня на серверах debian... но думаю не особо важно...

hp@local:~$ cat /etc/apache2/mods-enabled/php5.load
LoadModule php5_module /usr/lib/apache2/modules/libphp5.so

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

8. "Can't connect to local MySQL server through socket"  +/
Сообщение от Jenik email on 10-Янв-12, 23:38 
> видимо у вас не подключен модуль пхп....
> у меня на серверах debian... но думаю не особо важно...
> hp@local:~$ cat /etc/apache2/mods-enabled/php5.load
> LoadModule php5_module /usr/lib/apache2/modules/libphp5.so

Сделал насколько уловил.
Добавил в конфиг апача /etc/httpd/conf/httpd.conf
строку LoadModule php5_module /usr/local/apache/modules/libphp5.so

service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd: httpd: Syntax error on line 202 of /etc/httpd/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: failed to map segment from shared object: Permission denied
                                                           [FAILED]

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Can't connect to local MySQL server through socket"  +/
Сообщение от кегна on 10-Янв-12, 23:49 
>[оверквотинг удален]
> [  OK  ]
> Starting httpd: httpd: Syntax error on line 202 of /etc/httpd/conf/httpd.conf: Cannot load
> /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so:
> failed to map segment from shared object: Permission denied
>            
>            
>            
>            
>            
>    [FAILED]

sudo find / -name 'libphp5.so'

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Can't connect to local MySQL server through socket"  +/
Сообщение от Jenik email on 10-Янв-12, 23:56 
> sudo find / -name 'libphp5.so'

/var/src/php-5.3.8/libs/libphp5.so
/var/src/php-5.3.8/.libs/libphp5.so
/usr/lib/httpd/modules/libphp5.so
/usr/local/apache/modules/libphp5.so


Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Can't connect to local MySQL server through socket"  +/
Сообщение от Jenik email on 10-Янв-12, 23:59 
>> sudo find / -name 'libphp5.so'
> /var/src/php-5.3.8/libs/libphp5.so
> /var/src/php-5.3.8/.libs/libphp5.so
> /usr/lib/httpd/modules/libphp5.so
> /usr/local/apache/modules/libphp5.so

Исправил строку LoadModule php5_module /usr/local/apache/modules/libphp5.so
на LoadModule php5_module  /usr/lib/httpd/modules/libphp5.so
Starting httpd: [Tue Jan 10 21:57:35 2012] [warn] module php5_module is already loaded, skipping
                                                           [  OK  ]
А в браузере все также mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on '127.0.0.1'

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

12. "Can't connect to local MySQL server through socket"  +/
Сообщение от кегна on 11-Янв-12, 00:01 
>> sudo find / -name 'libphp5.so'
> /var/src/php-5.3.8/libs/libphp5.so
> /var/src/php-5.3.8/.libs/libphp5.so
> /usr/lib/httpd/modules/libphp5.so
> /usr/local/apache/modules/libphp5.so

ну попоробуйте прописать другие пути... типа /usr/lib/httpd/modules/libphp5.so

или пермишны посмотреть: ls -la /usr/local/apache/modules/

а вообще....
sudo apt-get install php5-mysql

думаю в centos тоже самое yum install php5-mysql

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

13. "Can't connect to local MySQL server through socket"  +/
Сообщение от кегна on 11-Янв-12, 00:03 
>>> sudo find / -name 'libphp5.so'
>> /var/src/php-5.3.8/libs/libphp5.so
>> /var/src/php-5.3.8/.libs/libphp5.so
>> /usr/lib/httpd/modules/libphp5.so
>> /usr/local/apache/modules/libphp5.so
> ну попоробуйте прописать другие пути... типа /usr/lib/httpd/modules/libphp5.so
> или пермишны посмотреть: ls -la /usr/local/apache/modules/
> а вообще....
> sudo apt-get install php5-mysql
> думаю в centos тоже самое yum install php5-mysql

так же может помочь tail -100 /var/log/apache2/error.log

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

14. "Can't connect to local MySQL server through socket"  +/
Сообщение от Jenik email on 11-Янв-12, 00:16 
>> а вообще....
>> sudo apt-get install php5-mysql
>> думаю в centos тоже самое yum install php5-mysql

Это не спортивно:)

К тому же у меня подуль пхп подключен, иначе не работало бы
<?
echo "бла бла бла";
?>
А оно работает. У меня проблема именно с подключением mysql:(

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

15. "Can't connect to local MySQL server through socket"  +/
Сообщение от lavr email on 11-Янв-12, 17:32 
>>> а вообще....
>>> sudo apt-get install php5-mysql
>>> думаю в centos тоже самое yum install php5-mysql
> Это не спортивно:)
> К тому же у меня подуль пхп подключен, иначе не работало бы
> <?
> echo "бла бла бла";
> ?>
> А оно работает. У меня проблема именно с подключением mysql:(

мб проблема со сборкой php и его extension?!
почитайте как можно собрать php и наверняка многое проясниться

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

16. "Can't connect to local MySQL server through socket"  +/
Сообщение от Jenik email on 11-Янв-12, 21:56 
>[оверквотинг удален]
>>>> sudo apt-get install php5-mysql
>>>> думаю в centos тоже самое yum install php5-mysql
>> Это не спортивно:)
>> К тому же у меня подуль пхп подключен, иначе не работало бы
>> <?
>> echo "бла бла бла";
>> ?>
>> А оно работает. У меня проблема именно с подключением mysql:(
> мб проблема со сборкой php и его extension?!
> почитайте как можно собрать php и наверняка многое проясниться

Я сегодня делал ровно по INSTALL для версии апача 2.* . И те же яйца, так сказать..:(

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

17. "Can't connect to local MySQL server through socket"  +/
Сообщение от lavr email on 11-Янв-12, 23:29 
>[оверквотинг удален]
>>> Это не спортивно:)
>>> К тому же у меня подуль пхп подключен, иначе не работало бы
>>> <?
>>> echo "бла бла бла";
>>> ?>
>>> А оно работает. У меня проблема именно с подключением mysql:(
>> мб проблема со сборкой php и его extension?!
>> почитайте как можно собрать php и наверняка многое проясниться
> Я сегодня делал ровно по INSTALL для версии апача 2.* . И
> те же яйца, так сказать..:(

php можно собрать несколькими вариантами! как cgi, как модуль к apache, и тд и тп
комбирнированно, статикой...

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

19. "Can't connect to local MySQL server through socket"  +/
Сообщение от Jenik email on 11-Янв-12, 23:47 
>[оверквотинг удален]
>>>> echo "бла бла бла";
>>>> ?>
>>>> А оно работает. У меня проблема именно с подключением mysql:(
>>> мб проблема со сборкой php и его extension?!
>>> почитайте как можно собрать php и наверняка многое проясниться
>> Я сегодня делал ровно по INSTALL для версии апача 2.* . И
>> те же яйца, так сказать..:(
> php можно собрать несколькими вариантами! как cgi, как модуль к apache, и
> тд и тп
> комбирнированно, статикой...

Апач ставил так:
cd httpd-2.2.21
./configure --prefix=/usr/local/apache --enable-so--enable-cgi--enable-info--
enable-rewrite--enable-speling--enable-usertrack--enable-deflate --enable-ssl
--enable-mime-magic
make
make install

php пробовал ставить по разному, последний раз так:
cd /var/src/php-5.3.9
./configure --with-apxs2=/usr/local/apache/bin/apxs --with-mysql
make
make install

В /etc/httpd/conf/httpd.conf
Добавил
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

<FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>

В /etc/httpd/conf.d/php.conf
Подключен модуль
<IfModule prefork.c>
  LoadModule php5_module modules/libphp5.so
</IfModule>

Еще пробовал менять --with-config-file-path=/some/path , но все-равно через phpinfo показывает что /etc/php.ini
Пробовать показать --with-mysql=/usr/local/mysql . но все-равно через браузер phpinfo показывает что --without-mysql.
Да и вообще, чтобы я не менял, phpinfo ничего нового не показывает...

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

20. "Can't connect to local MySQL server through socket"  +/
Сообщение от кегна on 12-Янв-12, 01:55 
>[оверквотинг удален]
> В /etc/httpd/conf.d/php.conf
> Подключен модуль
> <IfModule prefork.c>
>   LoadModule php5_module modules/libphp5.so
> </IfModule>
> Еще пробовал менять --with-config-file-path=/some/path , но все-равно через phpinfo показывает
> что /etc/php.ini
> Пробовать показать --with-mysql=/usr/local/mysql . но все-равно через браузер phpinfo
> показывает что --without-mysql.
> Да и вообще, чтобы я не менял, phpinfo ничего нового не показывает...

можно увидеть вывод:
$sudo lsof -p `pidof apache2 | cut -d " " -f1` | grep sql

Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

21. "Can't connect to local MySQL server through socket"  +/
Сообщение от lavr email on 12-Янв-12, 16:19 
>>[оверквотинг удален]

1) поставить вопрос: для чего нужно собирать LAMP из sources?
2) если решили собирать из sources то следует:

a) читать документацию в этих sources
b) понимать процесс компиляции и сборки:
- как работает ./configure и: как и зачем использовать опции --options
в configure и проверять status и Makefile'ы что, как и откуда будет цепляться
при сборке: при динамической *.so или статической *.a
- разницу между статически собранным объектом и динамически
- порядок сборки необходимы для того или иного комплекта ПО
- и тд и тп

3) если с верхним наступило просветление, решить:

- что вам нужно от php, те (то есть) что будет входить в комплект,
для чего это: это в случае если вы будете производить сборку для статики
- если динамическая сборка, то extention(модули) для php всегда можно собрать
и позже, если чего-то нехватило

вывод:
- смотрим что у нас уже есть в системе: есть ли уже установленный mysql, gd, zlib
и тд и тп - все необходимое для сборки php
- если нет, доставляем, если есть - собираем php с учетом этого наличия и чтобы
не было конфликтов
Почему проверять наличие конфликтов, потому что после экспериментов, неопытные
администраторы оставляют кучу хлама в разных местах, от этого ./configure даже
с правильными параметрами может создать неверные Makefile's

  К примеру у вас в системе уже несколько вариантов динамических модулей php...
Те после неудачных экспериментов лучше удалить ВСЕ что вы неудачно установили:
binaries, libraries & headers, иначе в системе будет каша и чем дальше, тем сложней
будет разбираться при ручной сборке.
Именно для этого служат rpm или srpm, не хочется ставить из пакетов - всегда есть
альтернатива собрать самому с требуемыми параметрами и конфигурацией из sources-rpm.
Для чего нужна универсальность - для того чтобы было проще сопровождать и разобраться
другому администратору.

итог: продукт может быть собран статикой или динамикой (модульно), кроме того
php можно собрать как CLI (command line), CGI и DSO(модуль для apache),
например: php собрать cli+dso или cli+cgi
Вероятно вам нужно php cli+dso (cli + mod_php) + набор php-extension типа поддержка
mysql, gd, curl, xml и тд и тп.

Избавьтесь от каши которую вы сотворили или попробуйте сделать сборку на чистой системе
под virtualbox например (так сказать "потренируйтесь на кошках") и потом смело разгребайте
на рабочей системе, найдите и удалите все ненужное или дублирующее или недо-удаленное,
освободитесь от каши и собирайте все последовательно:

- apache с поддержкой dso
- сначала все что потребуется для php и расширений: mysql, gd, curl, openssl и тд и тп
(указанные расширения/extension лишь для примера)
- теперь php как cli + dso с правильными --with - необходимыми для ВАШЕЙ конфигурации
и соответствующие по путям установленному у вас ПО

хоть что-то понятно из верхнего?

Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

22. "Can't connect to local MySQL server through socket"  +/
Сообщение от кегна on 12-Янв-12, 18:55 
>[оверквотинг удален]
> на рабочей системе, найдите и удалите все ненужное или дублирующее или недо-удаленное,
> освободитесь от каши и собирайте все последовательно:
> - apache с поддержкой dso
> - сначала все что потребуется для php и расширений: mysql, gd, curl,
> openssl и тд и тп
> (указанные расширения/extension лишь для примера)
> - теперь php как cli + dso с правильными --with - необходимыми
> для ВАШЕЙ конфигурации
> и соответствующие по путям установленному у вас ПО
> хоть что-то понятно из верхнего?

я лишь только добавлю для ТС.. В дистрибутивах основанных на пакетах не собирают и не ставят из сырцов.. Почему? потому что это идиотизм.
Хотите свою сборку апача? пхп? скачайте исходники и сделайте rpm.

Это нормально. То что делаете вы - это не нормально.
А вот собирать на продакшн системе не обязательно. Можно собирать rpm на виртуалке, а потом инсталлить в прокашн )

Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

18. "Can't connect to local MySQL server through socket"  +/
Сообщение от кегна on 11-Янв-12, 23:33 
>[оверквотинг удален]
>>> Это не спортивно:)
>>> К тому же у меня подуль пхп подключен, иначе не работало бы
>>> <?
>>> echo "бла бла бла";
>>> ?>
>>> А оно работает. У меня проблема именно с подключением mysql:(
>> мб проблема со сборкой php и его extension?!
>> почитайте как можно собрать php и наверняка многое проясниться
> Я сегодня делал ровно по INSTALL для версии апача 2.* . И
> те же яйца, так сказать..:(

завтра подниму центось 5.7 на виртуалке и посмотрю )

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

23. "Can't connect to local MySQL server through socket"  +/
Сообщение от ALex_hha (ok) on 15-Янв-12, 21:02 
2 TC
Хватит заниматься ерундой.

# yum install php php-mysql

:D

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

24. "Can't connect to local MySQL server through socket"  +/
Сообщение от Jenik email on 17-Янв-12, 01:27 
Я разобрался с проблемой, точнее добрый человек помог мне с ней разобраться.

Суть в том, что когда я устанавливаю систему, выбрал в компонентах установку apache.
Ну и понеслась..Я поставил еще один apache и, что и следовало ожидать, запутался в конфигах(кто куда смотрит), файлах запуска и т.д.

Переставил систему, читал INSTALL и сделал все по новой. Заработало:)

Спасибо lavr'у и кегна за помощь, что не бросили в беде))

Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

25. "Can't connect to local MySQL server through socket"  +/
Сообщение от кегна on 17-Янв-12, 13:29 
> Я разобрался с проблемой, точнее добрый человек помог мне с ней разобраться.
> Суть в том, что когда я устанавливаю систему, выбрал в компонентах установку
> apache.
> Ну и понеслась..Я поставил еще один apache и, что и следовало ожидать,
> запутался в конфигах(кто куда смотрит), файлах запуска и т.д.
> Переставил систему, читал INSTALL и сделал все по новой. Заработало:)
> Спасибо lavr'у и кегна за помощь, что не бросили в беде))

Надеюсь собирали rpm, затем ставили как rpm -i xxxx.rpm ))

Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру