Hei,
käytän nettisivujen paikalliseen testaamiseen WAMP-ohjelmaa, joka käytännössä on Apache, PHP ja mysql omalla koneella. Kaikki on toiminut täydellisesti, kunnes päätin päivittää kyseisen ohjelman. Päivittämisen jälkeen aina kun avaan tietyn sivun, winukka sanoo apachen lakanneen toimimasta ja itse selaimessa sivu heittää lataamisvirhettä.
Käyttöjärjestelmä on Windows Vista ja selain firefox. Wamp on uusin versio.
Apachen error.login viimeset rivit ovat
[Wed Apr 14 13:38:54 2010] [notice] Parent: child process exited with status 255 -- Restarting.
[Wed Apr 14 13:38:54 2010] [notice] Apache/2.2.11 (Win32) PHP/5.3.0 configured -- resuming normal operations
[Wed Apr 14 13:38:54 2010] [notice] Server built: Dec 10 2008 00:10:06
[Wed Apr 14 13:38:54 2010] [notice] Parent: Created child process 5544
[Wed Apr 14 13:38:54 2010] [notice] Child 5544: Child process is running
[Wed Apr 14 13:38:54 2010] [notice] Child 5544: Acquired the start mutex.
[Wed Apr 14 13:38:54 2010] [notice] Child 5544: Starting 64 worker threads.
[Wed Apr 14 13:38:54 2010] [notice] Child 5544: Starting thread to listen on port 80.
Kyseisen sivun ongelman olen rajannut kohtaan "include("db_users.php");" jonka poistamalla sivu näkyy. Kyseinen tiedosto ei kuitenkaan sisällä kuin tietokannan lataamismuuttujia tyyliin $tietkanta="users"; $salasana="foobar";
Osaisiko joku sanoa, mistä ihmeestä tuo ongelma voi olla peräisin, tai edes mitä apacen error.logissa tarkoittaa tuo kohta "Parent: child process exited with status 255 -- Restarting."
Pystytkö jäljittämään ongelmaa vielä tarkemmin? Toimiiko, jos tyhjennät kyseisen tiedoston? Jos toimii, lisää rivejä yksitellen takaisin, kunnes saat taas virheen.
Vika on vissiin MySql:ään yhdistämisessä, sillä koko tuon tiedoston tyhjentäminen avasi sivun(joka tietenkin valitti tietokantaan yhdistämisen ongelmista) Todella outoa, sillä etusivulla oleva kirjautuminen toimii moitteettomasti (joka sekin hakee tietoa tietokannasta) Googlen kautta löysin erään vinkin (joka tosin oli XAMPP:iin tarkoitettu), että php5.2 version mukana tulevan libmysql.dll kopiointi apachen ja php:n kansioihin auttaisi, mutta ei auttanut minulla. Alkaa mennä yli käsityksen tämäkin. Eihän php-skriptin pitäisi pystyä kaatamaan apachea?(ainakaan näin perus)
Ongelma oli myös minulla. Osaksi se ratkesi disabloimalla PHP:n laajennuksista PHP_mysqli. Tosin vielä se heittää mysql_closen kanssa jotain virhettä...
EDIT: Ongelma ratkaistu!
Yhteys pitää avata muuttujaan, ja muuttuja pitää myös asettaa mysql_closeen esimerkiksi näin:
<?php $yhteys = mysql_connect("ip", "tunnus", "passu"); ... mysql_close($yhteys); ?>
Tosin tässäkin Notice älähtää:
Notice: Undefined variable: yhteys in helvetti.php on line 12
Taitaa itse asiassa olla kyse tästä PHP 5.3.0:n bugista, eli mysql_close aiheuttaa kaatumisen, jos sille ei erikseen anneta yhteysmuuttujaa. Muistaakseni kohtasimme samaisen bugin myös töissä. Ongelmaan lienee kaksi järkevää ratkaisua: $yhteys-muuttujan käyttö ja PHP:n päivittäminen.
Metabolix kirjoitti:
Taitaa itse asiassa olla kyse tästä PHP 5.3.0:n bugista, eli mysql_close aiheuttaa kaatumisen, jos sille ei erikseen anneta yhteysmuuttujaa. Muistaakseni kohtasimme samaisen bugin myös töissä. Ongelmaan lienee kaksi järkevää ratkaisua: $yhteys-muuttujan käyttö ja PHP:n päivittäminen.
The bug exists since 21-07-2008.
Mielenkiintoista...
Metabolix kirjoitti:
Taitaa itse asiassa olla kyse tästä PHP 5.3.0:n bugista, eli mysql_close aiheuttaa kaatumisen, jos sille ei erikseen anneta yhteysmuuttujaa. Muistaakseni kohtasimme samaisen bugin myös töissä. Ongelmaan lienee kaksi järkevää ratkaisua: $yhteys-muuttujan käyttö ja PHP:n päivittäminen.
En ollu huomannutkaan tuota $yhteys muuttujan puuttumista, kun se oli aikaisemmin toiminut ilmankin. Nyt sivusto kuitenkin toimii sen lisättyäni. Kiitoksia vain paljon! :)
Degwa kirjoitti:
Eihän php-skriptin pitäisi pystyä kaatamaan apachea?(ainakaan näin perus)
Tuossa taisinkin olla väärässä :D
Aihe on jo aika vanha, joten et voi enää vastata siihen.