praegune kellaaeg 19.03.2024 11:01:20
|
Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
sõnum |
|
von Wu
HV Guru
liitunud: 11.10.2007
|
10.01.2018 20:44:30
Pärast PHP uuendust on suhtlus MySQL andmebaasiga katkendlik |
|
|
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 |
|
|
mikk36
HV Guru
liitunud: 21.02.2004
|
11.01.2018 10:43:24
|
|
|
Xdebugi saab ka eemalt teha üle SSH tunneli.
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
|
karu
HV kasutaja
liitunud: 07.08.2002
|
11.01.2018 10:57:25
|
|
|
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 |
|
|
von Wu
HV Guru
liitunud: 11.10.2007
|
12.01.2018 20:52:38
|
|
|
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 |
|
|
|
lisa lemmikuks |
|
|
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.
|