» »

PHP4 se počasi poslavlja

PHP4 se počasi poslavlja

Slo-Tech - Na uradni PHP-jevi strani so točno po treh letih odkar je bil izdan PHP5 sporočili, da bodo ob koncu tega leta (31.12.2007) prenehali nuditi podporo za PHP4.

Uporabnike PHP-ja pozivajo, naj čas do koca leta porabijo, za pripravo svojih PHP aplikacij za delovanje na PHP5. V ta namen so pripravili navodila za prehod iz PHP4 na PHP5, iz PHP5.0 na PHP5.1 ter iz PHP5.1 na PHP5.2.

Ob tej priložnosti je pametno omeniti še stran goPHP5.org, kjer je seznam aplikacij, ki bodo s 05. februarjem 2008 opustile podporo za PHP4, prav tako je na njihovi strani seznam gostovanj, ki so PHP5 enabled.

Glede na to, da je na seznamu goPHP5.org tudi phpMyAdmin upam, da bodo slovenska gostovanja to razumela, kot sporočilo, da je že čas da gredo na PHP5.

37 komentarjev

R33D3M33R ::

A ne delajo aplikacije pisane za PHP4 komot na PHP5?
Moja domača stran: http://andrej.mernik.eu
Na spletu že od junija 2002 ;)
:(){ :|:& };:

sverde21 ::

Če pogledaš malce priložene linke vse piše: PHP: Backward Incompatible Changes ;) sam prelistat je treba mal.
<?php echo `w`; ?>

ThinMan ::

Zadnji čas da so to naredili. Pozdravljam ta korak.

lp,
----
"We may not be able to control the wind, but we can always adjust our sails"

Road Runner ::

razloz to stranki ki si ji delu website ko te poklice da ne dela
"jah veste, treba bo vse prenest na php5, kar vas bo stal tok in tok dnarja... " :D
http://dusan.fora.si/blog/ (742617000027)

ThinMan ::

Hmm, zato pa imamo vzdrževanje, ali ne ?

Vsi se bomo morali sprijaznit z dejstvom da je potrebno iti s korakom naprej in vedno nadgrajevati programsko opremo (kodo).
razloz to stranki ki si ji delu website ko te poklice da ne dela

Stranka te ne pokliče, s stranko moraš biti vedno v stiku!
Četudi si naredil samo aplikacijo in imajo drugega vzdrževalca, je dobro da jih vsake tolko pobaraš kako so zadovoljni ali potrebujejo kakšne nadgradnje in sproti jih obveščati o nadgradnjah platform na katerih teče njihova aplikacija in posledično moraš tudi omenit, da bo potrebno kodo spremeniti da po delovala na php5.

Isti primer so programerji v DOSu (clipper, dbase, ...) Velika večina jih je še do nedavnega uporabljala racunovodske programe v DOSu. Nikako niso šli na WinXP, Vista...

NLB Proklik tudi ni z Visto združljiv in so na support rekli da nimajo pojma kdaj bo na voljo Vista. (Junij 2007 ProKlik na Visti še ni deloval)



lp,
----
"We may not be able to control the wind, but we can always adjust our sails"

sverde21 ::

Odvisno je tudi, kako je programer pisal, npr. meni dela vsa koda, ki sem jo spisal za PHP4 tudi na PHP5, popraviti sem moral le $PHP_SELF v $_SERVER['PHP_SELF']... to je pa itaq en search & replace čez vse dokumente bil in mi ni vzelo več kot minuto.
<?php echo `w`; ?>

MrStein ::

Ne pozabit, da so eni mojstri v pisanju nekompatibilne kode :D
(zakaj bi naredil dobro aplikacijo, če lahko naredim slabo in jo pet let "vzdržujem" ?)
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

Ice-Heki ::

Kot sem že napisal na enem blogu: Končno!

Če pogledamo slovenske hostinge, vidimo da jih večina še vedno uporablja PHP4, zato mislim, da je sedaj čas, da vse skupaj nadgradijo na 5ko, ki je, vsaj po moje, prej luksuz, kot navada.

(zakaj bi naredil dobro aplikacijo, če lahko naredim slabo in jo pet let "vzdržujem" ?)

Se strinjam. Najbolj me pa razjezi, ko kdaj kupimo kakšno aplikacijo in podjetje, ki jo prodaja zahteva, da je na strežniku PHP4 (če boste imeli PHP5 ne boste dobili tehnične podpore 8-O )

Matri[X] ::

Glavni problem, da toliko web serverjev podpira samo PHP4 je v tem, da Debian stable do nedavnega ni imel paketov za PHP5. Drugi problem je nesposobnost sysadminov nastavit, da lahko izbiras na kateri razlicici PHPja deluje katera aplikacija. Vecina jih sploh ne ve, da imas lahko PHP4 in PHP5 istocasno namescena.

krho ::

Lahko, vendar ne obeh kot apache module... razen, če boš različne končnice pisal pri vsaki verziji...

Mimo grede: Domenca ima ponuja oboje php4 in php5...
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net

sverde21 ::

Tudi hitrost.com ponuja oboje...
<?php echo `w`; ?>

SuperHik ::

Thinman: Proklik 12.0.0 dela na Visti.

Sem ga glih v četrtek instaliral na Visto . Moraš pa poklicat na NLB da ti pošljejo CD z novo verzijo . ;)

cu
Always look on the bright side of life; LIFE! You never saw my wife ...

SFfreak ::

@ Matri[X]: Kolikor vem, so razvijalci Debiana zelo neodprti za razne spremembe, tako da se sploh ne čudim raznim takšnim zamudam...

Tudi na GCC 3.x so šli s precejšnjim zamikom...

Matri[X] ::

krho: lahko, ker lahko v Apachu za vsako mapo posebej nastavis katero razlicico PHP modula naj uporabi.

darkolord ::

S takimi breaking changes so pa precej neresni... A je na voljo kakšen konverter?

Vsi se bomo morali sprijaznit z dejstvom da je potrebno iti s korakom naprej in vedno nadgrajevati programsko opremo (kodo).

In zakaj bi to moral delat ročno?

Zgodovina sprememb…

  • spremenilo: darkolord ()

sverde21 ::

@krho: z .htaccess bi se verjetno dalo nastavit tudi da v eni mapi Apač preda datoteke PHP4, v drugi pa PHP5...

@darkolord: kakimi breaking? 3 leta si imel čas da si prestavil svoje aplikacije na PHP5... Sicer pa a tedi ko M$ oznani konec podpore za Windowse je pa OK?

Pa konverter bi meu. Jah napiši ga. PHP je odprtokoden, tako da imaš proste roke. PHP razvijalci pač raje posvetijo programerski čas razvijanju PHP5, ker se jim ne da pisat konverterja za tiste ljudi, ki ne znajo pisat kompatibilne kode... za primer ti lahko dam phpBB, na strežniku z PHP5.2.3 imam naloženo 2.0.10to verzijo tega foruma (za testiranje, na privatnem strežniku - da ne bo ko mislil, da ne upgrejdam), ki je bila izdana 3 dni po PHP5.0.0 in dela čisto brez problemov še sedaj...
<?php echo `w`; ?>

darkolord ::

"Breaking change" nima nobene veze s časom... Ampak pomeni pač to, da stvar, ki je prej delala, zaradi te spremembe ne bo delala več.

Čisto nedopustno pa je, da so take spremembe tudi znotraj iste "major" verzije.


za tiste ljudi, ki ne znajo pisat kompatibilne kode

Kako pa ti pišeš kompatibilno kodo, da veš, da bo delala na naslednjih različicah? Maš kakšno močno kristalno kuglo?

MrStein ::

Na Visti tudi kup programov ne dela...
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

darkolord ::

Ampak ne zato, ker bi APIji v Visti vračali drugačne vrednosti kot v XP. Al pa 95.

Ampak OSa itak ne morš primerjat z enim malim "managed" okoljem

Zgodovina sprememb…

  • spremenilo: darkolord ()

der_Alte ::

Torej trdiš, da programi pisani za .Net v. 1 delajo nespremenjeni z .Net v.2 in .Net v. 3.x? Da ti ni potrebno imet vseh teh frameworkov hkrati nameščenih?

darkolord ::

V zelo velik večini (nisem še srečal nobenega, ki ne bi). Iz 1.0 na 1.1 pa recimo zagotovo delajo vsi, AFAIK prav tako iz 2.0 na 3.0

Jux ::

@Darkolord
Čisto nedopustno pa je, da so take spremembe tudi znotraj iste "major" verzije.


Zadihaj preden komentiraš - znotraj PHP5.x.y ni bilo nobenih takih sprememb, razlika je zgolj ob prehodu iz 4.xy na 5.xy. Pa še to ljudje, ki so že prej pisali lepo kodo (beri: brez neumnih (in nevarnih) bližnjic) - danes nimajo težav z prehodom.
web&blog&etc: http://lukabirsa.com

darkolord ::

CCfly ::

--> Backward <-- Incompatible Changes
"My goodness, we forgot generics!" -- Danny Kalev

darkolord ::

Kaj si pa s tem hotu povedat?

sverde21 ::

@darkolord: največje spremembe so iz PHP4 na PHP5, v sami petki je zelo malo teh sprememb pa še te to bolj eksotične, tako da glede na to da je še sedaj dost folka na PHP4 niso nobenega preveč ganile, razen mogoče tebe. Če bi blo po tvoje bi še zdle pisal v clipperju DOS programe ane, ker mora bit vsa programska oprema backward compatibile 100%. :(
<?php echo `w`; ?>

MrStein ::

Kaj ima to veze za stranko ?

Program ne dela, pika. Treba vzdrževalca poklicat in upat, da bo hitro rešil.

(hmm, če API vrača iste vrednosti, pa stari program vseeno ne deluje, a ni to še huje ?
Namesto da avtor v svoj program implementira dokumentirane spremembe, mora iskati vzrok napake)
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

darkolord ::

sverde21:

Večino DOS programov lahko brez težav poganjam na XP (in na približno desetih starejših verzijah OS).
Ne vidim razloga, zakaj bi stare, že delujoče programe moral kakorkoli popravljati, da bodo še naprej nemoteno delovali.
Jasno se backward compatibilitya ne da vzdrževat kar v neskončnost, ampak vsaj toliko, da je odstotek uporabnikov, ki še vztrajajo na starih zadevah, minimalen.

Čeprav pri PHPju niti ne gre toliko za problem prenosa obstoječih aplikacij (čeprav še vedno ne morem mimo tega, da so nekompatibilne spremembe znotraj iste major verzije) iz verzije 4 na verzijo 5, ampak to, da bo veliko ponudnikov en dan enostavno preklopilo na novo verzijo.



MrStein:

veliko teh problemov nastane zaradi hardcodanih zadev, uporabe nedokumentiranih APIjev in 'trikov', nepotrebnega šarjenja po sistemu, ...

Obstajajo pa recimo orodja, ki preverijo kompatibilnost za sisteme (in svetujejo).

Pa še to, če obstoječi APIji ostajajo nespremenjeni, se lahko aplikacijo naredi kompatibilno z novim sistemom, a se hkrati ohrani tudi prejšnja kompatibilnost z ostalimi sistemi. ;)

Še enkrat pa poudarjam, da nikakor ne gre primerjati celotnega operacijskega sistema z enim preprostim zaprtim (za uporabnika) in nespreminajočim se okoljem.

CCfly ::

Kaj si pa s tem hotu povedat?
Da backward incompatibility med minor verzijami ni problem. Spremembe ki so boleče, so "naprej nekompatibilne" spremembe, ki smo jim priča pri portanju iz PHP4 na PHP5.
"My goodness, we forgot generics!" -- Danny Kalev

mspiller ::

Večino DOS programov lahko brez težav poganjam na XP (in na približno desetih starejših verzijah OS).
Windows x64 (2003, XP, Vista) nima podpore za dos, posix in win16 aplikacije.

Ampak ne zato, ker bi APIji v Visti vračali drugačne vrednosti kot v XP. Al pa 95.
Ok zakaj pa potem? Test nekaterih apijev (tudi Vista). A se res noben ni spremenil?

Iz 1.0 na 1.1 pa recimo zagotovo delajo vsi, AFAIK prav tako iz 2.0 na 3.0

Zagotovo?. 3.0 ni celoten framework (samo WCF, WWF, WPF). Se vedno laufas pod 2.0 frameworkom. Ce primerjas z .net 1.1 pa .net 2.0 spremembami Runtime braking changes. Imas pa se podobno listo za compile/design time. Pa pustimo to da v VS 2005 ne mores vec kompajlat .NET 1.1. Pa da se vsakic build proces spremeni.

Vecina aplikacij, ki je spisanih za php4 bo delala tudi na php5. Ponavadi je edino potrebno vklopiti kaksno zadevo v php.ini (npr. register_long_arrays).

lp, Matej

darkolord ::

Windows x64 (2003, XP, Vista) nima podpore za dos, posix in win16 aplikacije.

Ja, ampak x86 (95, 98, ME, NT 4, 2000, XP, 2003) pa majo.

Test nekaterih apijev (tudi Vista).

Nevem kako merodajna je primerjava APIjev glede na implementacijo le-teh v Wine. V bistvu nič.

PS. Lahko

mspiller ::

Nevem kako merodajna je primerjava APIjev glede na implementacijo le-teh v Wine. V bistvu nič.

Tukaj je test dokumentiranih apijev na razlicnih sistemih. Wine je le eden izmed njih in ga lahko odmislis. Boljse? Ni tukaj point razlike med Wine in Microsoftom ampak med Microsoftom samim sabo.
PS. Lahko
Pa si preprican da je ta MSBee 100.0% kompatibilen z vsemi moznimi opcijami? Baje ne podpira J#. Ocitno ne 100%, mogoce samo blizu. Pa smo spet pri backward compatibility problemu.

'FireSTORM' ::

Tukaj je test dokumentiranih apijev na razlicnih sistemih. Wine je le eden izmed njih in ga lahko odmislis. Boljse? Ni tukaj point razlike med Wine in Microsoftom ampak med Microsoftom samim sabo.

Točno tako.
Imel sem kar nekaj DOS programov 16 bitnih ki so jih 32bitni windwos xp veselo zavračali dokler nisem namestil nekega patcha, torej ni kompatibilno kar samo po sebi.
Torej če nebi blo patcha ti preostane samo popravljanje kode. Ali tudi kakršne simulacije dosa aka dosbox npr.
Sploh pa že XP < - > Vista kompatibilnost spregovori dosti o tem, ko na Visti ne laufa tričetrt stvari iz XPjev. In seveda tudi ne kontra.
Those penguins.... They sure aint normal....

darkolord ::

Wine je le eden izmed njih in ga lahko odmislis.

Ne moreš, glede na to, da je kar nekaj testov "failed" pri vseh različicah Win (pri Wine je pa jasno kul). Katerega potem vzameš za osnovo? Pa ti testi niso nič dokumentirani.

Tudi J# gre baje


ne laufa tričetrt stvari

Ja, valda.


PS. Niste malo zašli? V novici nikjer ne vidim omembe .NET, Viste, XP ali Billa

Zgodovina sprememb…

  • spremenilo: darkolord ()

mspiller ::

Ne moreš, glede na to, da je kar nekaj testov "failed" pri vseh različicah Win (pri Wine je pa jasno kul). Katerega potem vzameš za osnovo? Pa ti testi niso nič dokumentirani.
Jaz sem sicer gledam bolj specificne teste ala base64, katere sem uporabljal v sluzbi ampak ok. Se vedno ne mores zanikati, da je dokumentiranih 79 issujev pri prehodu iz .NET 1.0 na 1.1. Pri PHPju je pa dokumentiranih 13. Pa si se vedno kurcal PHP in opeval .NET, kjer si zagotavljal, da delujejo vsi programi (iz 1.0 v 1.1). Stekas?
Tudi J# gre baje
Se enkrat poglej link. Issue je odprt od Jul 19 2006. In do danes se vedno odprt.
PS. Niste malo zašli? V novici nikjer ne vidim omembe .NET, Viste, XP ali Billa
Sorry si nisem mogel pomagati, ko sem bral tvoje neumnosti. Bom drugic bolj mocen.

darkolord ::

Ne zanikam, da so določene težave tudi v .NET. Mogoče sem se prenaglil z besedo zagotovo (čeprav bi bil pripravljen tvegat za tak mali odstotek 8-)), a sam nisem s tem nikoli imel kakršnih koli težav, čeprav .NET od prve različice dalje uporabljam vsakodnevno. Za programe lastne produkcije pa je do zdaj vedno brezhibno poskrbel konverter (iz 1.0 na 2.0 recimo). Pa še to, da je hkratna uporaba različnih verzij frameworka trivialna zadeva, tako da se veliki večini ljudi s tem, o čemer tukaj debatiramo, ni in ne bo nikoli potrebno ukvarjati.

Pri PHPju pa sem, kolikor sem ga sploh uporabljal, imel nekaj težav, ko sem naprimer ob nadgradnji strežnika na verzijo 5 moral popravljati sajte, ki so bili nekompatiblini. Sicer ne ravno komplicirano (na forumu od phpbb (IIRC), so bila navodila v stilu "426. vrstico v fajlu xxx.php zamenjaj s sledečo..."), a malo zamudno delo (zato sem tudi spraševal o konverterju, po osornem odgovoru, ki sem ga dobil, pa sklepam, da ne obstaja :)).

Se enkrat poglej link. Issue je odprt od Jul 19 2006. In do danes se vedno odprt.

Zraven pa je (od odprtja) attachan fajl, ki to stvar reši.

Zgodovina sprememb…

  • spremenilo: darkolord ()

sverde21 ::

@darkolord: za phpBB obstaja en MOD installer se mi zdi, ki ti poišče po teh navodilih in zamenja, tako kot je treba, ampak osebno ga še nisem preizkusil, tako da ne moram povedati, kako je s tem...
<?php echo `w`; ?>


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Server z php4 na linuxu

Oddelek: Izdelava spletišč
152011 (1838) Pesimist
»

PHP4 se počasi poslavlja

Oddelek: Novice / Omrežja / internet
374142 (2774) sverde21
»

Glavni PHP razvijalec dal odpoved

Oddelek: Novice / --Nerazporejeno--
356493 (4449) darkolord
»

PHP - objektno programiranje

Oddelek: Izdelava spletišč
344086 (3474) Trubadur
»

Učenje PHP-ja

Oddelek: Izdelava spletišč
252562 (2236) upirna

Več podobnih tem