Sziasztok,
Van egy nagyobb drupálos oldalam amit hobbiból csinálunk (puntoclub.hu) - több mint 2000 felhasználó, átlag 2millió találat/hó.
Nagyon sokáig drupal 4.x-et használtunk mysqlben tárolt latin2 (mysql 4.1) adatbázissal, ez nagyon szépen gond nélkül működött. Sajnos szükségessé vált szerver váltás, az új vason viszont már mysql 5.x van. kicsit döcögösen de sikerült 4.1 (latin2) -> 5.x (utf8)-ra átkonvertálni adatbázist, igy régi drupalálal új vason életre is kelt az oldal.
Ha már migrálunk történt egy frissítés is drupal 4.x-ről 6.7-re, ez első körben úgy tűnt hibátlanul le is ment, tesztek semmilyen hibát nem mutattak.
Sajnos felhasználói funkciókra sok időt nem fordítottam, így pár nap múlva derült ki hogy felhasználok közül nagyon sokan nem tudnak belépni az oldalra, jelszó igényléssel gondok vannak. Fórum hozzászolásoknál nem fogadja el drupal bentlévő felhasználó nevet.
Már rászántam 2 estét, és nem birok rájönni mi a gond.
Hibák:
- Felhasználó nem tud belépni jelszavával, admin felületen átírom, azzal sem tud belépni, mások teljesen jól belépnek.
- Felhasználó nem tud elfelejtett jelszót kérni, mert: "Felhasználó értesítése hozzáférés aktválásakor." üzenetet kap (user aktív)
- belépett felhasználó nem tud fórumban hozzászólni, mert "Érvényes szerzőt kell megadni" üzenetet kap (beloginolt user, user nevet drupal adja)
Ha valakinek van valamilyen 5lete, nagyon örülnénk neki, nagyon sokan szeretnék használni az oldalt, és nem szeretném 2 hetes backupból visszahúzni.
ekkorát azért ne
Ekkorát azért ne ugorjatok, a főverziókat nem szabad kihagyni! Szóval 4.7.x -> 5.x -> 6.x
Nézd meg az általad használt moduloknál mit írnak a frissítésről, minden főverziónál teljesen frissíts, vagyis ne csak az alaprendszert, hanem a használt modulokat is. Ha jobbat akarsz, először frissíts fel a 4.7 legutolsó kiadására, és a modulokat is frissítsd, majd így lépj tovább.
És legyen biztonsági mentésed, ahova bármikor visszatérhetsz!
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
ékezetek
Elképzelhető, hogy az ékezetes felhasználónevek romlottak el az utf-8-ra konvertálás során. Adatbázis users táblájában nézd meg mit történt.
Sziasztok, Kicsit későn
Sziasztok,
Kicsit későn sikerült reagálni, de sajnos nagyon nincsen időm.
Csak felhasználó kezeléssel van gondunk, minden más hibátlanul működik.
Alapvetően felhasználó nevekkel van gond, következő miatt (érdekes):
mysql> SELECT * FROM users u WHERE LOWER(name) = LOWER('Vithy') AND status = 1;
Empty set (0.01 sec)
mysql> SELECT * FROM users u WHERE name = 'Vithy' AND status = 1;
+-----+-------+----------------------------------+---------------------------+------+------+-----------+-------+----------------------------------------------+------------+------------+--------+----------+----------+------------------------------------+---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------+
| uid | name | pass | mail | mode | sort | threshold | theme | signature | created | access | status | timezone | language | picture | init | data | login |
+-----+-------+----------------------------------+---------------------------+------+------+-----------+-------+----------------------------------------------+------------+------------+--------+----------+----------+------------------------------------+---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------+
| 982 | Vithy | 4b13374bfdc683fe8837a1894720628b | [email protected] | 0 | 0 | 0 | | Cshááá Cshumi Cshááá
Peace & love ;-) | 1150636752 | 1227791422 | 1 | NULL | en | tarolo/tulaj_kepek/picture-982.jpg | [email protected] | a:9:{s:11:"mail_accept";s:1:"0";s:5:"roles";a:1:{i:0;s:1:"2";}s:14:"tinymce_status";s:1:"0";s:14:"picture_delete";i:0;s:16:"privatemsg_allow";i:1;s:28:"privatemsg_setmessage_notify";i:1;s:20:"privatemsg_mailalert";s:1:"2";s:14:"picture_upload";s:0:"";s:13:"form_build_id";s:37:"form-5f681f4c3f8f3170f181f66bf73922ef";} | 1226254964 |
+-----+-------+----------------------------------+---------------------------+------+------+-----------+-------+----------------------------------------------+------------+------------+--------+----------+----------+------------------------------------+---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------+
1 row in set (0.00 sec)
mysql>
user_load() -nál ugyan ezt a LOWER-es lekérdezést csinálja drupál is:
11 Query SELECT 1 FROM access WHERE type = 'user' AND LOWER('Vithy') LIKE LOWER(mask) AND status = 0 LIMIT 0, 1
11 Query SELECT 1 FROM access WHERE type = 'mail' AND LOWER('Vithy') LIKE LOWER(mask) AND status = 0 LIMIT 0, 1
11 Query SELECT * FROM users u WHERE LOWER(mail) = LOWER('Vithy') AND status = 1
11 Query SELECT * FROM users u WHERE LOWER(name) = LOWER('Vithy') AND status = 1
vagyis mysql LOWER() valamiért nem úgy működik ahogyan kellene, elvileg ha kivenném akkor működne az oldal rendesen.
Ilyet látott már valaki ? :)