PHP 8 tuli ja Zend Framework ei enää toimi kuten monet muut vanhat Frameworkit. Eli mitä tehdä. Suosittelisitteko Laravelia? Mutta osa mm. niinkin vanhalla kuin Zend Framework 1.12 tehdyt ohjelmat vielä toimii, koska niissä on käytetty vain sen osia jokta toimii PHP 8:ssa.
Olisi ehdottomasti kannattanut opetella koodaamaan jo ennen kuin nykyiset työkalusi lensivät ikkunasta ulos. Onhan PHP 7:llakin toki tukea vielä vajaan kahden vuoden verran jäljellä, jos haluat pitäytyä siinä, että koodaat vain vanhaa paskaa.
Laravel, Symfony, Laminas (ex. Zend)... Kaikilla toki pärjää. Sinun kannattaisi valita se, mistä itse pidät eniten.
The Alchemist kirjoitti:
Olisi ehdottomasti kannattanut opetella koodaamaan jo ennen kuin nykyiset työkalusi lensivät ikkunasta ulos. Onhan PHP 7:llakin toki tukea vielä vajaan kahden vuoden verran jäljellä, jos haluat pitäytyä siinä, että koodaat vain vanhaa paskaa.
Eikun Zend Framework 1.12 ei toimi ollenkaan, koska sitä ei enää päivitetä. Ohjelmat kaatuu siihen enkä jaksa kaikkia sen koodirivejä korjata. Samoin PHPExel on jo lopetettu ajat sitten ja sekään ei enää toimi mutta TCPDF:n uusin versio toimii PHP 8:ssa kyllä. Jos vaihdan vaikka uusimpaan Laminakseen niin silloin minun tulee koko oma koodi koodata uudestaan.
Päivitin vain siis Ubuntu 18.04 versioon 20.04 ja siinä saa itse valita onko mikä PHP 7 versio vai 8.0. Isompi ongelma on vain se, että Java-pohjaiset sovellukset eivät saa nyt enää MySQL-tietokantaan yhteyttä joita minä en edes ole itse koodannut mutta saavat toki yhteydeyden PostgreSQL:n.
En ymmärrä yhtään, mitä sinä solkkaat.
Jos PHP 8 on viimeinkin rikkonut sinun Zend 1.12:lla koodatut ohjelmasi, niin väliaikainen ratkaisu on olla käyttämättä PHP 8:aa.
Jos haluat deplata vanhojen sovellusten rinnalle jonkin uudemman freimiksen päälle rakennettuja sovelluksia, niin ne freimikset kyllä toimivat myös PHP 7:lla.
Debian-pohjaisiin distroihin voi myös helposti asentaa kummankin PHP-version rinnakkain, joten voit jättää vanhat sovellukset pyörimään seiskalla ja deplata uudempia kasilla.
The Alchemist kirjoitti:
(30.01.2021 09:39:33): En ymmärrä yhtään, mitä sinä solkkaat. ...
Niin yritin vain sanoa, että minun omassa koodissa ei ole vikaa vaan siinä, että freimikset ovat liian vanhoja toimiakseen PHP 8:ssa.
Palautin nyt PHP-version 7.2 ja ohjalmat toimii taas. Mutta Zend Framework 1.12.0. piti päivittää versioon 1.12.20, että ohjelmat alkoi toimia kunnolla tässä nykyisessä PHP 7.2 asennuksessa, koska vanhempi 1.12 ei hyväksynyt Curl 2.0 HTTP -protocolaa.
Tarkoitin tosin, että ajaisit PHP 7.4:ää, koska sitä vanhempien seiskan versioiden tuki on jo päättynyt tai vetelee ihan viimeisiään. Mainitsemasi 7.2:n tuki loppui päättyi viime vuonna. Se on nyt käytännössä ihan yhtä turvaton kuin vaikka joku muinainen PHP 5.6.
The Alchemist kirjoitti:
Tarkoitin tosin, että ajaisit PHP 7.4:ää, koska sitä vanhempien seiskan versioiden tuki on jo päättynyt tai vetelee ihan viimeisiään. Mainitsemasi 7.2:n tuki loppui päättyi viime vuonna. Se on nyt käytännössä ihan yhtä turvaton kuin vaikka joku muinainen PHP 5.6.
Ok. Kiitos tästä. Minulla on PHP 7.0:sta 8.0:aan kaikki versiot asennettu erikseen ja niitä voi vaihdella komentorivillä miten huvittaa. Olin myös asentanut yhtäsovellustani varten php_mycrypt-moduulin, koska sen saa vielä PHP 7 -versioihin epävirallisena pakettina jos vain tietä mitä pitää tehdä, että se saa asennettua. Mcrypt on jo ajat sitten poistettu virallisesta PHP:sta. Mutta nyt huomasin että ainakin Zend Framework 1.12.20 on Crypt.php-tiedosto ja koitin tutkia sitä käyttääkö se jotain muuta kuin mcrypitiä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.