Strona 1 z 1

[php 5 + mysql]

: 27 września 2006, 16:37
autor: Verdan
Witam.

od jakiegoś czasu walczę z pewną rzeczą, i jakoś mi nie idzie, więc postanowiłem się poradzić, może ktoś z Was będzie miał jakiś pomysł.

Sprawa wygląda w ten sposób, że mam apache z php5. Php skompilowałem z opcjami:

Kod: Zaznacz cały

'./configure' \
'--prefix=/usr/local/php5' \
'--with-apxs2=/usr/local/apache2/bin/apxs' \
'--with-mysql=/usr' \
'--with-jpeg-dir=/usr/local' \
'--with-zlib-dir=/usr' \
'--enable-mbstring' \
'--enable-sockets' \
'--with-iconv=/usr/local' \
'--with-zip' \
'--with-gd' \
'--with-png-dir=/usr/local/libpng-1.2.12' \
'--with-curl=/usr/local/libcurl-7.15.5' \
'--with-libxml-dir=/usr/local/libxml2-2.6.26' \
'--with-pdo-mysql' \
'--with-xmlrpc' \
'--with-imap' \
'--with-imap-ssl'
I pojawił się problem z obsługą mysql:

Kod: Zaznacz cały

Warning: mysql_connect() [function.mysql-connect]: Access denied for user: 'user@localhost' (Using password: YES) in /usr/local/apache2/htdocs/php5/mysql.php on line 4
Hasło i login do bazy są rzecz jasna poprawne (sprawdzałem wielokrotnie :) ).
Jak bym nie kombinował to jest access denied.
Wersja mysql to:

Kod: Zaznacz cały

mysql  Ver 12.22 Distrib 4.0.27, for pc-linux-gnu (i686)
Najciekawsze jest to, że php4 też nie bardzo chce działać na tym mysql, jednak w przypadku php4 ratuje mnie wbudowana obsługa mysql która jakoś w php5 zginęła, albo przynajmniej ja nie mogę jej znaleźć. W momencie kiedy skompiluje php4 z zewnętrzną obsługą mysql pojawia się ten sam problem co wyżej, w przypadku php5.

Nagłówki mysqlowe są na swoim miejscu, nie są pomieszane z innymi wersjami:

Kod: Zaznacz cały

bash-2.05# find /usr -name mysql_version.h
/usr/include/mysql/mysql_version.h
bash-2.05#

bash-2.05# grep VERSION /usr/include/mysql/mysql_version.h
#define PROTOCOL_VERSION                10
#define MYSQL_SERVER_VERSION            "4.0.27"
#define MYSQL_BASE_VERSION              "mysqld-4.0"
#define MYSQL_VERSION_ID                40027
bash-2.05# 
Zaznaczam, że nie jest to Debian i uaktualnienie mysql do nowszej wersji nie wchodzi aktualnie w grę. Z góry dziękuję za wszelkie sugestie.

Pozdrawiam,
Verdan

: 29 września 2006, 13:35
autor: dawidson
A sprawdzales czy dany uzytkownik moze sie zalogowac przez localhosta

: 29 września 2006, 15:42
autor: Verdan
Nie raz i nie dwa. Z konsoli śmiga aż miło.

Pozdrawiam.

: 29 września 2006, 17:54
autor: Witek Baryluk
Sprawdź ustawienia haseł i kont, szczególnie pole Host. Jeśli z php łączysz się do bazy
podając pełną nazwe hosta, a nawet czasami localhost to się łączy z bazą
nie poprzez sockety (szybkie i uzywa Host=localhost), ale przez TCP/IP (uzywa zwykle Host=%).

[ Dodano: 2006-09-29, 17:56 ]
Jak to nie zadziała to nie mam osobiście innego pomysłu.

: 30 września 2006, 11:57
autor: Verdan
Witek Baryluk pisze:Sprawdź ustawienia haseł i kont, szczególnie pole Host. Jeśli z php łączysz się do bazy
podając pełną nazwe hosta, a nawet czasami localhost to się łączy z bazą
nie poprzez sockety (szybkie i uzywa Host=localhost), ale przez TCP/IP (uzywa zwykle Host=%).
Problem nie leży w ustawieniach, tylko w supporcie mysql.
Jak już poprzednio zaznaczyłem, że wszystko śmiga aż miło z konsoli jak i również z php4 z wbudowaną wewnętrzną obsługą mysql.

Pozdrawiam,
Verdan

: 30 września 2006, 22:40
autor: raku
to może użyj php5 i mysqla z backportów?

: 02 października 2006, 12:29
autor: Verdan
To nie jest Debian, nie mam możliwości zmiany wersji oprogramowania.