Van egy (nem általam írott) PHP4 progi (némi névjegyzék és esemény napló) ami egy postgre -ben tartja az adatokat. Természetesen egy jó kis loginnal kezdődik, és ha az sikeres tovább lép az eseménylistába. Mindez anno amikor készült Debian 3.1 - most Debian 5.0.5 stable -ra próbálom felépíteni (új gép, mai hardware, a régi alig megy rajta - LFS).
Feltelepítettem minden szükségest: apache2, php5 (azt hiszem mindennel ami kell hozzá) és a postgreSQL -t. Betöltöttem az adatbázist (pg_dumpall -al készült mentés, template+tables+userek). Betöltöttem az /var/www alá a php fájlokat. Megjelenik a jó kis login, beviszem az érvényes felhasználó/jelszó párost és ... nem történik semmi :(
Az apache2/error.log a design.css fájlt hiányolja - ilyen nem is volt, de most csináltam neki egy üreset (touch). Az apache2/access.log kiírja azt hogy próbálkoztam egy jót és milyen böngészővel.
A postgresql/postgresql-8.3-main.log csak annyit mutat hogy kész fogadni a csatlakozásokat (amikor rosszul volt beállítva akkor jelezte hogy hibás próbálkozás volt).
Nem lép tovább a cucc - szerintem most már a PHP beállításokkal lehet a baj, a php4 -hez való meg van de, azzal nem tudom mit kezdjek :(
Mit lehetne megnézni?
- 1282 megtekintés
Hozzászólások
Sztem itt az UTF8-as kódolással lehet a baj. Megnézted a régi adatbázis milyen kódolással volt? Esetleg az is lehet, hogy a locales-ba felveszed a pl hu_HU.ISO-8859-2 ISO-8859-2 -t/squirrelmail magyarításához szükséges pl./
- A hozzászóláshoz be kell jelentkezni
Már az elejétől fogva hu_HU - ISO8859-2 telepítettem, még a kernelnek is szóltam: append=“vt.default_utf8=0”
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
gondold ujra, hogy most mit irtal.
t
- A hozzászóláshoz be kell jelentkezni
Bocs, de nem értem mire célzol?
A Debian telepítés elején, rákérdez milyen LOCALE -t állítson - NEM utf -t állítottam.
Később, a lilo -ban is jeleztem, hogy a kernel kapcsolja ki a default utf8 opciót.
Mi ezzel a baj?
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Elsőre ilyenek jutnak eszembe:
- kapcsold be a zend.ze1_compat_mode vagy hasonló nevű opciót
- állíts be php hibanaplót E_ALL -al a vhostnak külön file-ba
- register_globals ellenőrzése, hátha voltak olyan "sikeresek" és a On beállításhoz írták a site-ot
- későbbi bónusz opció, hogy a pgsql-nek query logot állíts be (postgresql.conf)
- van egy session.bug_compat dolog is, itt elsőre azt mondd meg neki, hogy jelezzen ha talál ilyet, de ne kapcsold be
Ezek fényében aztán már okosabb leszel szerintem. A saját tapasztalat az, hogy a php4-es appok ha a compat mód be van lőve akkor általában mennek.
- A hozzászóláshoz be kell jelentkezni
Már megvan :)
Lame kérdés, a zend.ze1_compat_mode mint opció az a php configra vonatkozik? Ráadásul, úgy látom van itt cgi/, cli/ és apache2/ konfiguráció - mindegyikben azonosnak tűnő alap beállító állomány.
Az E_ALL -al kísérletezem, sőt a programban is van debug flag, amire mindenféle okos dolgokat ír ki. Kár hogy a PHP -hoz szinte semmit nem értek :( A C tudásomat és a józan eszemet használnám (ha még lenne).
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
Köszönöm andrej_ -nek a tippeket - mindent beállítottam amit említett.
Az első számú gondot a postgre okozza, mivel a felhasználó/jelszó páros azonosítására üres az eredmény - még silabizálnom kell a kódot - de szerintem itt valami jogosultsági gond lesz a felhasználói tábla környékén.
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
1) A php kódból elvileg kiolvasható az az sql select ami a jelszó ellenőrzésekor lefut. Meg kell próbálni a postgresben lefuttatni. Esetleg a postgres logból is ki lehet olvasni.
2) Ellenőrizni kell, hogy a régi rendszerben ki volt az adatbázis tulajdonosa, mi az adatbázis kódolása. pl valahogy így:
psql dbneve -U postgres -h localhost -l
3) Meg kell nézni a postgres logját mit ír a lekérdezésekre, illetve a megtalált userről akar-e valamit beírni az adatbázisba és az sikerül-e neki.
4) Egyáltalán sikerül-e csatlakoznia a php-nek a postgreshez? Fel van-e telepítve a postgres php modulja. Esetleg ezt phppgadmin-nal ellenőrizni.
- A hozzászóláshoz be kell jelentkezni
Jártam ezen az úton. Mint említettem egy pg_dumpall mentésből beillesztettem az adatbázist. A mentésnek megfelelő user/password párosok működnek (legalábbis látszólag) azaz psql -el be tudok lépni és SELECT -el beletudok nézni a táblákba. De a php kód nem tud túljutni a login -on.
A következő SQL utasításokkal nem tudom mit is csinálnak:
SELECT password as pass FROM team_members WHERE username = '".$_REQUEST['username']."' and password = md5('".$_REQUEST['password']."')";
...
SELECT team_members WHERE password = '".$_REQUEST['password']"' and act = True;
...
Ha ezeket (a megfelelő behelyettesítésekkel) beviszem a psql -ből akkor "0 ROWS" kapok :(
Azt sem igazán tudom mit kéne kapnom ezekre az utasításokra - a Postgre leírásokban ilyen SELECT parancs formát nem tudok beazonosítani "SELECT password as pass ..." - sűrű sötétség :(
Így nem tudom mi is a baj - a Postgre alapbeállításai vagy az adat importálásnál jelzett néhány hibát/gondot (valami gondja van a ROLE -okkal).
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
Mondjuk azt nem értem minek ad az ember egy oszlopnak aliast ha egyszer nem használja utána a lekérdezésben...
- A hozzászóláshoz be kell jelentkezni
Hát lehet el kéne kezdeni játszani a dolgokkal.
SELECT * FROM team_members;
ad valamit?
SELECT * FROM team_members WHERE username='xy';
....ésígytovább.
és kideríteni, hogy hol esik el. De egy nagy programnál azért mindegyiket átírni időbe tellhet.
### ()__))____________)~~~ ################
#"Ha én veletek, ki ellenetek?"#1000H/UbuFb
- A hozzászóláshoz be kell jelentkezni
Tudomásom szerint a php4 olyannyira nem "kompatibilis" a php5-el, hogy csak na! Ha valaki hallott olyan eszközről, eljásrásról, amivel egy php4-ben megírt programot egyszerűen, gyorsan lehet migrálni php5-be, kérem ne kíméljen!
------------------------------------------------
A legtöbb ember azt hiszi, csak a gyomra üres...
- A hozzászóláshoz be kell jelentkezni
Most akkor ebben a felállásban nem is érdemes küzdeni?
Valahogy, forrásból fel kell tuszkolni a PHP4 -et, esetleg potgre 7.4 -et?
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
„A cél halál, az élet küzdelem, s az ember célja a küzdés maga.”
------------------------------------------------
A legtöbb ember azt hiszi, csak a gyomra üres...
- A hozzászóláshoz be kell jelentkezni
A legtöbb PHP4 "alá írt" honlap simán elindult PHP5 alatt is. Legalábbis nálam, és 200+ oldalt figyelembe véve.
Inkább a register_globals szokott godnott okozni sajnos.
Szerintem inkább az az általános, hogy nem használják a PHP5 adta lehetőségeket. A PHP 5.2.x váltása 5.3.x-re macerásabb ha pl. tele van a kód eregi* fv. használattal (PHP 5.3-tól deprecated). IMHO.
- A hozzászóláshoz be kell jelentkezni
+1
Ám, ha nem egy egyszerű weboldalról van szó, hanem pl. egy vállalati alkalmazásról (amilyennel volt alkalmam találkozni), na akkor már korántsem sima az az indulás.
------------------------------------------------
A legtöbb ember azt hiszi, csak a gyomra üres...
- A hozzászóláshoz be kell jelentkezni
Annyit tudok hozzátenni a topikhoz, hogy hasonló gondom volt nekem is. Egy oldal, ami régen (5++ éve kb) íródott, és gykorlatilag az egyetlen site a sok hostolt közül, ami postgre-t használ.
Fel szerettem volna tenni az új postgre-t, hogy legyen friss, meg minden. Sehogysem bírtam rávenni, hogy jól menjen az adatlekérdezés. Hozzátartozik, hogy nem nagyon szoktam postgresql-t simogatni.
A végén feltettem a régi (talán 7.3-as) postgre-t, azzal rendben megy. Tudom, próbálkozhattam volna még, de időben így jobban megérte, bajt meg nem okoz, mert semmi más nem használja.
Lehet, hogy nálad is segít, ha régebbi verziót próbálsz.
- A hozzászóláshoz be kell jelentkezni
PHP5 maradt?
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
Igen, nekem nem volt különösebb gondom az átállással, viszont az oldalhoz a "register_globals On" kellett, persze vhost szinten kapcsoltam be csak. Véleményem szerint simán próbáld meg PHP5 alatt, inkább a Postgre-vel variálj, kivéve, ha megtalálod mi ütközik, mert mindenképp jobb lenne az újabb verzió.
- A hozzászóláshoz be kell jelentkezni
Ja, és még egy! Postgre terminálból győződj meg róla, hogy az adatok tényleg bekerültek-e a dumppal, mert nálam már ott elbukott a dolog, a szerkezet létrejött, de adat nem ment be. Persze dump után rögtön próbálkoztam, eredmény meg nem volt, mert a tábla üresen maradt.
- A hozzászóláshoz be kell jelentkezni
Köszönöm a sok ötletet :D
Az adatbázis valamilyen szinten létrejött - bele kellene nézni mondjuk egy pg- vagy phppg -adminnal hogy biztos legyek.
psql konzolból megnéztem, tudtam táblákat listázni, de pg_dumpall -al is próbálkoztam (miután beöntöttem az adatot) - az is jónak nézett ki.
Viszont kiderült hogy elavult jelszóval próbáltam belépni :(
Amikor meg lett az igazi akkor már belépett, de ennyi index hibát már rég láttam mint amit kiköpött, lehet hogy lehetne tovább gyúrni, de egyenlőre leteszek róla :( Másképp oldom meg ezt a dolgot - régi vas, régi rendszer - Woody :) Majd ha lesz rá több időm és valaki igényli akkor lehet visszanyúlni.
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni