Avaleht
uus teema   vasta Tarkvara »  WWW »  Pärast PHP uuendust on suhtlus MySQL andmebaasiga katkendlik märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale. Teata moderaatorile
otsing:  
von Wu
HV Guru
von Wu

liitunud: 11.10.2007



Online

sõnum 10.01.2018 20:44:30 Pärast PHP uuendust on suhtlus MySQL andmebaasiga katkendlik vasta tsitaadiga

On kasutusel Ubuntu server, selles töötab veebileht, mille PHP kood võimaldab genereerida keemia arvutusülesandeid. Saab ka kohe sisestada vastuse ja pärast "Saada" nupu vajutamist ütleb veebileht, kas vastus on õige.
Lähteandmed võetakse MySQL andmebaasist ja kasutaja vastused sisestatakse andmebaasi.
PHP5.6-ga toimis kõik hästi, aga pärast uuendamist PHP7-le see genereerimine vahel töötab, vahel mitte. Algul ei toiminud üldse, sest osa faile oli vanade funktsioonidega, aga nüüdseks mysql mysqli vastu vahetatud ja PHP määratud kasutama mysqli.so laiendust. Proovisin PHP7 välja lülitada ning PHP5.6 kasutusele võtta, aga ikka sama jama. Paljudel kordadel ülesande tüübi valimine ja "genereeri" nupu vajutamine ei tee midagi.
MySQLi ja Apache2 logidest on näha, et baasiga ühendutakse ja päringuid tehakse, aga otseseid vigu ei paista (va paar mitteolulist faili, nt. klikiloendur, kus veel vana kood sees).
Samas serveris on ka Moodle, mis töötab korralikult. Uuendatud sai ka Apache2, mysql ja phpmyadmin. Viimane näitas mõnda seadistuse viga, aga need said parandatud. Andmebaasi tabelite tüüp on InnoDB.
Algul oli probleeme ka UTF-8 kodeeringu kehtestamisega, selle saime korda - kas võis midagi mõjutada.

Mida teha, et ülesande genereerimine iga kord töötaks? Kust mida kontrollida?

Kõnealune leht on siin: http://veeb.jpk.edu.ee/~neeme/ylesanded/index.php
kasutaja: malle, parool: 123

Vaatasin xdebug-i, aga paistab, et see vajab PHPStormi ja graafilist liidest, mis serveril puudub.
Kommentaarid: 864 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 652
tagasi üles
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 11.01.2018 10:43:24 vasta tsitaadiga

Xdebugi saab ka eemalt teha üle SSH tunneli.
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
karu
HV kasutaja

liitunud: 07.08.2002




sõnum 11.01.2018 10:57:25 vasta tsitaadiga

Kui kasutad mysqli funktsioone (ja mitte classi), siis kontrolli, et vana kood link parameetrit üle ei kirjuta.
Pead ka kontrollima, et link parameeter oleks enda funktsioonide sees kättesaadav.

Debuggimise ajal võiksid olla seadistatud ka error_reporting=E_ALL ja display_errors=true .
Kommentaarid: 1 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 1
tagasi üles
vaata kasutaja infot saada privaatsõnum
von Wu
HV Guru
von Wu

liitunud: 11.10.2007



Online

sõnum 12.01.2018 20:52:38 vasta tsitaadiga

Tundub, et lahendus leitud. Kasutaja poolne sisend on küll number, aga kuna seda millegi arvutamiseks ei kasutata, oli vanas koodis andmevälja tüübiks varchar. Pärast double'iks muutmist hakkas asi korralikult tööle. Selgus, et varasem MySQL-i versioon teisendas automaatselt õigesse vormingusse, kuid praegune enam mitte.
Kommentaarid: 864 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 652
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  WWW »  Pärast PHP uuendust on suhtlus MySQL andmebaasiga katkendlik
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.