Sziasztok! Van egy D6-os oldal, ahol szolgáltatói kavarások miatt részben szétesett az oldal. Hogy mi történt pontosan, azt nem tudom, a lényeg, hogy egy pár hónapig a feltett anyagok "más jogosultsággal" mentek a szerverre, weben elérhetők voltak, de ftp-vel már nem látszott.
A kérdés: van egy db node (csatolt képekkel, fájlokkal, linkekkel), ami nagyon megsínylette az akciót, mert noha látszik az adatbázisban (nid=734 :), de az oldalon nem látja még az admin se. A node táblában minden a helyén van. Hogy lehetne feléleszteni? Melyik táblát lehetne piszkálni (ha nagyon kéne)?
Köszi előre is!
Drupal verzió:
Hát mi is történt? Megsérült
Hát mi is történt? Megsérült az adatbázis? Frissítették szervert? Az SQL-t, PHP-t... Mert amit leírtál az elég homályos...
Én kapásból letölteném az adatbázist és az Ftp tárhely tartalmát és megnéznem egy saját lokális szerveren működik-e.
...mit tudok: http://web.termuves.hu
Én is ezt csináltam.
Én is ezt csináltam.
(hogy a szerverrel pontosan mi történt, azt nem tudom, nem árulták el a rendszergazdák...)
Szóval lemásoltam mindent, de lokálba is ez a helyzet: az az egyetlen node nem elérhető (404-es hibával elszáll), se a node/734 se az álnév nem hozza. A többi node/[nid] elérhető.
Szóval igazából az volt a kérdésem, hogy ha a node táblában minden okénak látszik, akkor hol akadhat el a megjelenítés (ami valamelyik táblában mondjuk látszana jó esetben), szóval hogy hol törhet el egy node.
Védd az állatokat! ;)
hasznos tipp
Amikor nekem gondjaim voltak a node-okkal DB-hiba miatt, akkor sokat segített a hibakeresésben, hogy bekapcsoltam a Devel modult, kitettem a PHP-kódfuttatás blokkot, majd egy
dsm(node_load(42));
segítségével megnéztem, hogy mit kapok a node betöltésekor.Nálam konkrétan az okozta anno a hibát, hogy nem létezett az a felhasználó, akinek az uid-je a node-hoz volt rendelve. Az is hasonló problémát okozhat, ha a node-ból több verzió van elmentve, és a legutolsónál nincs meg minden mező verziója.
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
Köszi, nincs még tipped? :)
Köszi, nincs még tipped? :)
A node_load semmit nem ad vissza. A user létezik. Végignéztem az összes csatolt kép és file is megvan hibátlanul.
A views egyébként a node összes fieldjét listázza, a csatolmányok is mind megvannak a nézetben. Ha teljes tartalmat állítok be, akkor semmi.
Védd az állatokat! ;)
valami vicces munkatárs
esetleg valami vicces kedvű munkatárs nem állította be egyedi 404 oldalnak a node/734 -et? :) és a node/734/edit is 404?
-
clear: both;
De jó lenne, ha lenne vicces
De jó lenne, ha lenne vicces munkatársam :)
Megnéztem, nem :(
Belenéztem viszont a fájljogosultságokba a files-en belül, és fura, hogy vannak 770-es és 771-es könyvtárak is, és a fájlok is összevissza vagy 660 vagy 664-esek. Nem tudom, ez mitől lehet, de talán ez nem kavar be... Amúgy nem 755 (folder) és 664 (file) kéne, hogy legyen minden? (úgy értem, csak a files-en belül)
Védd az állatokat! ;)
Ha a jogosultságokra
gyanakodsz, én azzal kezdeném, hogy a fájlrendszeren mindenre minden jogot megadnék. Csak a teszt rendszereden, és csak ha van mentésed!
Ha ezeket futtatod a 'files' könyvtáron belül (unix, linux) alatt:
A jogosultságok átállítása:
A tulajdonos átállítása (minden a www-data user és www-data csoport tulajdonába kerül), ha a php más user-rel és csoportal hozta létre a fájokat, akkor azt írd be:
Ezzel az egésszel szerintem annyit nyerhetsz, hogyha ezután sem javul meg a probléma, akkor nem kell a jogosultságoknál keresni a hibát, ha megjavul, akkor igen.
Köszi, ezek sem segítettek,
Köszi, ezek sem segítettek, ezek szerint az adatbázisban van valami hiba. És tényleg.
Mert most ott tartok, hogy oké, újra létrehozom a tartalmat, minden megvan hozzá, és szerencsére csak egy node-ról van szó.
A régi tartalmat viszont szeretném az adatbázisban kilőni (mivel csak ott érem el).
De ha az adazbázisban a statust 0-ra állítom, akkor sem szűri ki a views azzal, hogy nem közzétett.
Szóval továbbra is látja a views, de a node megjelenni nem tud.
Ott van, de mégsincs ott, kipusztíthatatlanul :)
Mi akaszthatja meg a megjelenítést, még mielőtt a node adataihoz érne?
Védd az állatokat! ;)
Közben valahogy localhoston
Közben valahogy localhoston feléledt a node, de különöset nem csináltam vele, valami valahol "frissülhetett" csendben.
Az élesen átírtam a node id-t a node és a node_revision táblában (tudom, hogy veszélyes, de valahogy végre meg kell oldanom) Meg se kottyan neki, továbbra is a régi id alatt szerepel a views-ban. Minden cache-t ürítettem... Honnan szedi elő mégis a views a régi id-ját a nodenak?
Védd az állatokat! ;)
Megoldottam :) Abból indultam
Megoldottam :) Abból indultam ki, hogy a fenti dolog lehetetlen. És akkor hirtelen bevillant, hogy esetleg én egy másik adatbáziban turkálok! Nemá! Demá! Egy újabb phpmyadmin linken kellett volna már belépnem, a régi valami backupszerűségbe vitt. A szolgáltató elfelejtette közölni :( GRRRRR!
És nevergone-nak lett igaza: a node táblában egy nem létező uid tulajdonában volt a node...
Védd az állatokat! ;)