Obchod

Ahoj,
na stránkách mám obchod, který jsem nedělal já (protože php neumím), ale mám s ním problém. Občas se mi sám od sebe vymaže soubor webshop.db (pokud se nepletu, tak asi databáze?) a já ho tam znovu musím nahrát. Mezi tím samozřejmě obchod nejde. Ten soubor se nevymaže tak, že by úplně zmizel, pořád tam je, ale má 0 kb.
Mohli byste mi někdo poradit, čím by to mohlo být? Děkuji
Pochybuji, že by to někdo jen tak dokázal uhádnout. Nezbude ti, než prozkoumat zdrojáky, případně to někomu zadat.
Tohle se na WZ občas stává se souborem, který je neustále zapisován, až se stane, že je zapisován dvěma procesy naráz, což způsobí "undefined behavior". Několikrát se to tu kdysi řešilo, tuším, že se pak přišlo na funkci flock. Ale vzhledem k tomu, že se ve svém systému nevyznáš, pak asi budeš i mít problém svůj obchod upravit tak, aby před/po každým otevřením/uzavřením souboru webshop.db pracoval s funkcí flock.

Hledej na www.php.net funkce fopen, fclose, flock.
woooow.. flock.. tak už vim, proč se mi to počítadlo furt maže.. :))
Nípale, díky moc za radu, třeba to nějak zvládnu...
no, Nípal má pravdu, ale i s flockem jsem měl párkrát problém, ještě bys tam ten soubor, pokud se nemění, mohl dát na několik míst a v určitých intervalech spouštět jeho přepis ze "zálohy"

třeba máš v rootu ten soubor webshop.db, pak dáš stejný do /zalohaa/
a třeba ještě jednou do /zalohab/

no a pak třeba co 4 hodiny budeš přepisovat webshop.db z rootu stejným souborem z /zalohaa/ a co 12 hodin přepíšeš v rootu i v /zalohaa/ souborez ze /zalohab/

pak už je dost nepravděpodobné, že se ti smaže i obsah /zalohab/webshop.db a v nejhorším případě, co by mohl nastat by byla 12-ti hodinová nedostupnost... osobně si myslím, že ani k vymazání /zalohaa/webshop.db by nemělo dojít...

intervaly si samozřejmě můžeš zvolit vlastní....

no je to dost trapné řešení, ale mohlo by být funkční ;)
Jo, to se stává se špatným zamykáním souboru a více přístupech i u jiných databází. Možná by bylo vhodnější jít cestou, kdy se něco zapisuje nebo opravuje v pomocné databázi a potom se přihrává nebo přepisuje data v originální databázi. Uživatel může číst vše z hlavní databáze, ale pracuje jen se svým klonem - to jsou taky zkušenosti s interních sítí, kdy se vypíná elektřina a je zálohovaný jen server. Možností jak to univerzálně ošetřit je více, složitých ale i jednoduchých. :-)
Džej Ár, mě to přijde jako zajímavý řešení, ale mohl bys mi napsat jakým příkazem to zařídit, aby se to v těch určitých intervalech přepisovalo?
Hmm eshop pres soubory, to je skutecne luxus ..
luxusní je kód kterej si sám maže databázový data
mám pocit, že ste to mysleli každej jinak... ;-))
24k a ernesto: Kdybyste mi radši místo blbejch keců poradili.
Autor: zbi (pskoprivnice.unas.cz)
Datum: 21. 02. 2006 07:34

a

Autor: Nípal (nipal.wz.cz)
Datum: 21. 02. 2006 15:57

Co chces vic? My nevime, jestli nemas ve skriptu nejakou botu, o ktere ani sam nevis. Kdyz Buh rozdaval kristalove koule, zrovna jsem se marne pokousel zkonfigurovat eagle-usb, takze mam koule pouze dve a zadna z nich rozhodne neni kristalova.
donny (pef.xf.cz)
Chci slučný chování a ne blbý kecy, který nikomu neprospějou. Myslím, že jsem položil jasnou otázku, na kterou vy kecálci nemáte odpověď, tak nevím proč tady žvatláte.
Děkuji všem slušným, kteří se mi snaží pomoc. :-)
Lada: tak se ale taky chovej slusne -- ty neco chces, ne oni. To neni dobra pozice pro to, klast si nejaky naroky na to, kdo ti jak ma odpovidat. To, co rikaj, je sice trosku OT, ale na druhou stranu zrovna narazka od 24k byla docela trefna... tak se kvuli tomu nemusis prece hned rozcilovat.
Já jsem s tím nezačal. Ano, máš pravdu, já jsem ten, kdo chce poradit, ale hrubě jsem se začal chovat až jako druhej. Nekladu si nároky na to, kdo mi má odpovídat, ale když ten člověk plácá nesmysly, tak mám snad právo se ohradit.
Myslel jsem, že to fórum tady je od toho, aby se lidem, kteří něco nevědí, radilo. To už je jedno...
Ne, to forum je tady od toho, aby se kolektivne resily problemy, ktere nekdo neumi vyresit pomoci vlastnich sil. Ale nechame slovickareni a upustime od dalsiho zbytecneho flame.
Souhlasím.