На OpenBSD 3.7 крутится Apache, MySQL и PHP,последние два- никак не хотят дружить! для проверки используется простой скрипт:
<?
mysql_connect("localhost");
mysql_select_db("test");
?>
после его запуска, в еррорлоге апача нахожу следующее:
mysql_connect(): Can't connect to local MySQL server through socket '/var/run/mysql/mysql.sock'
mysql_select_db(): Can't connect to local MySQL server through socket '/var/run/mysql/mysql.sock'
mysql_select_db(): A link to the server could not be established
путь к сокету- /var/run/mysql/mysql.sock , для проверки, на /var/run/mysql поставил права 777, не помогло...
MySQL запускался так: /usr/local/bin/mysqld_safe --user=_mysql. Захожу: mysql -u root - ВСЁ РАБОТАЕТ! в php.ini был прописан localhost, port=3306,
user=root... это так же не возымело результата!
Если у кого есть идеи по этому поводу- делитесь, буду пробовать!
>На OpenBSD 3.7 крутится Apache, MySQL и PHP,последние два- никак не хотят
>дружить! для проверки используется простой скрипт:
> <?
> mysql_connect("localhost");
> mysql_select_db("test");
> ?>
>после его запуска, в еррорлоге апача нахожу следующее:
>mysql_connect(): Can't connect to local MySQL server through socket '/var/run/mysql/mysql.sock'
>mysql_select_db(): Can't connect to local MySQL server through socket '/var/run/mysql/mysql.sock'
>mysql_select_db(): A link to the server could not be established
>путь к сокету- /var/run/mysql/mysql.sock , для проверки, на /var/run/mysql поставил права 777,
>не помогло...
>MySQL запускался так: /usr/local/bin/mysqld_safe --user=_mysql. Захожу: mysql -u root - ВСЁ РАБОТАЕТ!
>в php.ini был прописан localhost, port=3306,
>user=root... это так же не возымело результата!
>Если у кого есть идеи по этому поводу- делитесь, буду пробовать!
покажи следующее:ls -la /var/run/mysql
grep mysql /usr/local/etc/php.iniпуть до php.ini возможно наврал,
проверь что рисуется в phpinfo()
ls -la /var/run/mysqltotal 4
drwx--x--x 2 _mysql _mysql 512 Jul 1 01:29 .
drwxr-xr-x 3 root wheel 512 Jun 26 16:01 ..
srwxrwxrwx 1 _mysql _mysql 0 Jul 1 01:29 mysql.sock
grep mysql /usr/local/etc/php.ini:mysql.allow_persistent = On
mysql.max_persistent = -1
mysql.max_links = -1
; Default port number for mysql_connect(). If unset, mysql_connect() will use
; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
mysql.default_port = 3306
mysql.default_socket = /var/run/mysql/mysql.sock
; Default host for mysql_connect() (doesn't apply in safe mode).
mysql.default_host = localhost
; Default user for mysql_connect() (doesn't apply in safe mode).
mysql.default_user = root
; Default password for mysql_connect() (doesn't apply in safe mode).
; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
mysql.default_password =
mysql.connect_timeout = 60
mysql.trace_mode = On
extension=mysql.sophpinnfo()
mysql
MySQL Support enabled
Active Persistent Links 0
Active Links 0
Client API version 4.0.23
MYSQL_MODULE_TYPE external
MYSQL_SOCKET /var/run/mysql/mysql.sock
MYSQL_INCLUDE -I/usr/local/include/mysql
MYSQL_LIBS -L/usr/local/lib -lmysqlclientDirective Local Value Master Value
mysql.allow_persistent On On
mysql.connect_timeout 60 60
mysql.default_host localhost localhost
mysql.default_password no value no value
mysql.default_port 3306 3306
mysql.default_socket /var/run/mysql/mysql.sock /var/run/mysql/mysql.sock
mysql.default_user root root
mysql.max_links Unlimited Unlimited
mysql.max_persistent Unlimited Unlimited
mysql.trace_mode On On
[skip]mysql_connect('localhost', 'root');
не понял что значит [skip]...
выдаёт всё ту же ошибку:Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/run/mysql/mysql.sock' (2) in /htdocs/index.php on line 9
насколько я понимаю- всё дело в сокете... хотя он и создаётся там где надо...
и как мне кажется всё это связано с тем, что по умолчанию в OpenBSD что-то не так как мне надо... уже яндекс весь изнасиловал, но ничего похожего не нашйл... только одна ссылка на статью по установке mysql в OpenBSD да и та дохлая.... (((
От безвыходности даже PostgreSQL поставил, да и с ним подобная фигня:Warning: pg_pconnect(): Unable to connect to PostgreSQL server: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"? in /htdocs/index.php on line 8
опять всё не так... и ни кде об этом ни слова...
ещё забыл написать что, хотя, mysql.sock и создаётся, но имеет размер 0!
так и должно быть?
>ещё забыл написать что, хотя, mysql.sock и создаётся, но имеет размер 0!
>
>так и должно быть?да, это сокет
я имелл ввиду его размер, он не содержит не каких данных! Или важно только его наличае?
>я имелл ввиду его размер, он не содержит не каких данных! Или
>важно только его наличае?это не файл, это сокет...
он данные не содержит
ясно, спасиьо за разъяснения, а конкретно по этому случаю ты можешь что-нибудь посоветовать? а то я уже и не знаю что делать!!!
OpenBSD не хочется сносить... а придётся если не разберусь с этим.... или, может проще из исходников поставить?
>ясно, спасиьо за разъяснения, а конкретно по этому случаю ты можешь что-нибудь
>посоветовать? а то я уже и не знаю что делать!!!
>OpenBSD не хочется сносить... а придётся если не разберусь с этим.... или,
>может проще из исходников поставить?хм...хм...
покажи
sockstat -l | grep mysql
ps -axwww | grep mysql
ps -axwww | grep mysql31738 p1- I 0:00.01 /bin/sh /usr/local/bin/mysqld_safe --user=_mysql
31721 p1- I 2:25.66 /usr/local/libexec/mysqld --basedir=/usr/local --datadir=/var/mysql --user=_mysql --pid-file=/var/mysql/gate.bor.net.pid --port=3306 --socket=/var/run/mysql/mysql.sockа sockstat команды нет...
ln /var/run/mysql/mysql.sock /var/www/var/run/mysql>ps -axwww | grep mysql
>
>31738 p1- I 0:00.01 /bin/sh /usr/local/bin/mysqld_safe
>--user=_mysql
>31721 p1- I 2:25.66 /usr/local/libexec/mysqld --basedir=/usr/local
>--datadir=/var/mysql --user=_mysql --pid-file=/var/mysql/gate.bor.net.pid --port=3306 --socket=/var/run/mysql/mysql.sock
>
>а sockstat команды нет...
попробовал- ссылка создаётся, а проблема не исчезает! я уже в нескольких местах сталкивался с рекомендацией переноса сокета в /var/www/var/run/mysql, но при попытке это сделать, сервер MySQL вообще не запускается: ended from pid file.
если у кого-то возникнет подобная проблема, то она решается просто, апач надо запустить httpd -u, огромное спасибо form!
>если у кого-то возникнет подобная проблема, то она решается просто, апач надо
>запустить httpd -u, огромное спасибо form!Этим ты запускаешь апач не в chrot'e
Совет - оставь как есть, только в конфигах поменяй с localhost на твой_IP - все будет ОК.