Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: Mistofelees - 05.03.23 - klo:19.33

Otsikko: ? PHP ?
Kirjoitti: Mistofelees - 05.03.23 - klo:19.33
Mikä tätä php:tä vaivaa ?
Muutama vuosi sitten tuli php:n versiopäivitys, jossa split korvattiin explore:lla. Ongelman löytämiseen meni monta tuntia.
Teetti hemmetisti työtä päivittää muutamia satoja nettisivuja omissa ja talon servereissä, vaikka kehitin scriptin, joka teki tarvittavat muutokset.

Nykyisessä koneessa päivitin php5 -> php 8.3. Apachen kanssa sai painia hartaasti. Poistin php5.
Uusi phplot kaipasi php7.4-GDI, joten sekin piti asentaa.
Sitten tuli softa, joka kaipasi php5, joten asensin sen takaisin. Ja taas sai painia Apachen kanssa.
Nyt, kun päivitän LinuxMintiä 20.3 -> 21.x, päivitysohjelma kaipaa vielä php7.4.

Onko php päätynyt jonnekin omituiseen limboon kirjastojensa suhteen, vai miksi näitä versioita pitää olla näin paljon ?

Miten tahansa, tykkään php:stä, koska sille on kohtuullisen hyvät opastussivut netissä.
Olisipa JavaScriptille ja AJAXillekin.
JS ja AJAX:n temppuja joutuu onkimaan forumeilta, joilla tärpit tahtovat olla täysin käsittämättömässä muodossa.
Otsikko: Vs: ? PHP ?
Kirjoitti: nm - 07.03.23 - klo:12.48
Nykyisessä koneessa päivitin php5 -> php 8.3. Apachen kanssa sai painia hartaasti. Poistin php5.
Uusi phplot kaipasi php7.4-GDI, joten sekin piti asentaa.
Sitten tuli softa, joka kaipasi php5, joten asensin sen takaisin. Ja taas sai painia Apachen kanssa.

Jos on tarvetta käyttää eri versioita, PHP-palveluja ja Apachea (tai vaikka Nginxiä) kannattaa ajaa Dockerilla tai vastaavissa konteissa, niin ei tule keskinäisiä ristiriitoja versioiden välillä. Tällöin myös palvelujen päivittäminen, testaaminen ja palaaminen edellisiin versioihin on huomattavasti helpompaa.

Onko php päätynyt jonnekin omituiseen limboon kirjastojensa suhteen, vai miksi näitä versioita pitää olla näin paljon ?

PHP on yleisesti tunnettu heikosta suunnittelustaan, ja tämä versioiden epäyhteensopivuus on osa jatkumoa. Toisaalta samaa ongelmaa ilmenee kyllä lähes kaikissa ohjelmointikielissä ja frameworkeissa, joilla on pitkä historia takanaan. Ajoittain on tarve tehdä suuria muutoksia tai poistaa huonoksi todettuja ominaisuuksia, jolloin uusi versio ei enää ole yhteensopiva vanhan koodin kanssa.


Miten tahansa, tykkään php:stä, koska sille on kohtuullisen hyvät opastussivut netissä.
Olisipa JavaScriptille ja AJAXillekin.
JS ja AJAX:n temppuja joutuu onkimaan forumeilta, joilla tärpit tahtovat olla täysin käsittämättömässä muodossa.

JavaScriptillä koodataan harvemmin pelkillä peruspalikoilla tyhjästä, vaan alla on asiakaspuolen (eli selaimessa ajettava) sovelluskehys kuten React, Angular tai Vue, ja palvelinpuolella on Node.js+Express.js tai vaikkapa Django. Asiakas keskustelee palvelimen kanssa REST-rajapinnan kautta. Kun tämän kokonaisuuden hahmottaa ja valitsee itselleen sopivat komponentit, tarvittavat ohjeet löytyvät sovelluskehysten sivuilta. Lisäksi netissä on pilvin pimein aloittelijoiden tutoriaaleja eri kombinaatioihin, eli miten esimerkiksi Reactia käytetään Django-backendin kanssa.

Vastaava tilannehan on työpöytäsovelluksen koodaamisessa C++:lla. Eihän silloinkaan lähdetä rakentamaan GUI-toolkittiä tyhjästä, vaan otetaan alle Qt tai vaikka wxWidgets. Ohjeet luetaan toolkitin dokumentaatiosta.