12. marts 2004 - 09:09Der er
11 kommentarer og 1 løsning
Fejl efter opgradering af DB
Warning: mysql_connect() [function.mysql-connect]: Client does not support authentication protocol requested by server; consider upgrading MySQL client in /home/kcstud/public_html/login.php on line 17 Client does not support authentication protocol requested by server; consider upgrading MySQL client
Dejlig besked at få? Nå ikk? Jeg har lige opgraderet min DB fra 4.0 til 4.1, nu får jeg denne besked... Hvad skal jeg ændre i min connect?
$conn = mysql_connect("xx.xxx.xx.xxx", "user", "pass") or die(mysql_error()); mysql_select_db("db",$conn) or die(mysql_error());
Jeg fik samme problem, da jeg legede med ver 4.1. Jeg fandt ikke en løsning, så det endte med, at jeg gik tilbage til ver 4.0.18.
Synes godt om
Slettet bruger
12. marts 2004 - 14:37#2
Nu er det jo kun en advarsel om at MySQL-serveren gerne vil bruge en måde til brugergenkendelse, som din PHP ikke understøtter. Så vidt jeg kan forstå, kan MySQL og PHP stadig snakke sammen - de bruger bare ikke den måde, som MySQL egentlig helst ville have.
Hvis du ikke kan finde en udgave, der understøtter den metode, kan du måske rette mysql_connect til @mysql_connect - det burde få den til ikke at udskrive advarslen.
Hos mig var problemet osse at jeg slet ikke kunne logge på med brug af password og det var da ellers en rimelig ny php (4.3.4). Hvis problemet er det samme her hjælper det ikke bare at undertrykke fejlmeldingen. Problemet er at ver 4.1 bruger en anden metode til at kryptere passwords (16 bytes/41 bytes), så det er ikke umiddelbart muligt at logge på med en ældre client. Der er som jeg forstår det to måder at omgå dette på. Enten at køre MySQL med: --old-passwords option, eller sørge for at feltet 'Password' i mysql/user kun kan indeholde 16 bytes.
Det var måske osse værd at kigge på php's mysqli extension, som håndterer de nye muligheder i MySQL > 4.1. Jeg synes bare det er lidt uklart om den understøtter ver. 4.1.1-alpha, eller man skal op i ver. 4.1.2. http://dk2.php.net/mysqli
Puha 12 timer væk fra nettet og så er der en masse at læse her... Nå men dejligt lige at have nogle andres ideer... Jeg må jo prøve at se lidt på de links i har lagt. Jeg kan sige så meget at jeg ikke kan gå tilbage til 4.0.xx for så understøttes sub-selects ikke... (og jeg som altid har svoret til mysql i stedet for mssql)
Det skal lige tilføjes at funktionerne i mysqli øjensynlig først virker i php ver 5.0, så mit forslag er at bruge: --old-passwords option, eller begrænse længdeb af feltet: 'Password' i mysql/user til 16 bytes.
Personligt har jeg gjort det, at rette feltet 'Password' til:
Password varchar(20) binary NOT NULL default ''
Så kan jeg bare rette det til:
Password varchar(45) binary NOT NULL default ''
når jeg engang for brug for det.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.