<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="lt">
	<id>https://wiki.eofnet.lt/w//index.php?action=history&amp;feed=atom&amp;title=PHP</id>
	<title>PHP - Versijų istorija</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.eofnet.lt/w//index.php?action=history&amp;feed=atom&amp;title=PHP"/>
	<link rel="alternate" type="text/html" href="https://wiki.eofnet.lt/w//index.php?title=PHP&amp;action=history"/>
	<updated>2026-04-15T11:12:51Z</updated>
	<subtitle>Šio puslapio versijų istorija projekte</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.eofnet.lt/w//index.php?title=PHP&amp;diff=7483&amp;oldid=prev</id>
		<title>\dev\null: straipsnis sukurtas</title>
		<link rel="alternate" type="text/html" href="https://wiki.eofnet.lt/w//index.php?title=PHP&amp;diff=7483&amp;oldid=prev"/>
		<updated>2016-01-24T15:04:49Z</updated>

		<summary type="html">&lt;p&gt;straipsnis sukurtas&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Naujas puslapis&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Programos informacija|&lt;br /&gt;
 vardas=PHP|&lt;br /&gt;
 paveikslėlis=[[Vaizdas:Php_logo.jpg|200px]]|&lt;br /&gt;
 antraštė=|&lt;br /&gt;
 kūrėjas=[[Rasmus Lerdorf]]|&lt;br /&gt;
 kalba=C|&lt;br /&gt;
 paskutinė_versija=5.6.11|&lt;br /&gt;
 paskutinės_versijos_data=2015 m. liepos 10 d.|&lt;br /&gt;
 operacinė_sistema=Kryžminė|&lt;br /&gt;
 paskirtis=|&lt;br /&gt;
 licencija=[[PHP License]]|&lt;br /&gt;
 svetainė=http://www.php.net/&lt;br /&gt;
}}&lt;br /&gt;
'''PHP''' – plačiai paplitusi [[Dinaminė programavimo kalba|dinaminė]] [[Interpretuojama kalba|interpretuojama]] [[programavimo kalba]] (en: ''Hypertext Preprocessor''), sukurta [[1995]] m. ir specialiai pritaikyta [[internetas|interneto]] svetainių kūrimui.&lt;br /&gt;
&lt;br /&gt;
PHP sintaksė panaši į daugelį [[Struktūrinė programavimo kalba|struktūrinių kalbų]], ypač į [[C (kalba)|C]] bei [[Perl]].&lt;br /&gt;
&lt;br /&gt;
PHP kalba yra [[Atviras kodas|atviro kodo]] ir tai yra viena priežasčių, dėl ko kalba yra nors ir nesudėtinga, bet gana lanksti – veikia daugumoje operacinių sistemų, palaiko nemažai [[Reliacinė duomenų bazė|reliacinių duomenų bazių]] bei veikia su dauguma interneto [[serveris|serverių]] – [[CGI]], [[FastCGI]], [[ISAPI]] ir kitais protokolais.&lt;br /&gt;
&lt;br /&gt;
Nors PHP yra dažniausiai naudojama interneto puslapių kūrimui, bet yra labai galingas įrankis atlikti kitas funkcijas komandinėje eilutėje.&lt;br /&gt;
&lt;br /&gt;
== Istorija ==&lt;br /&gt;
Viskas prasidėjo [[1994]] metų rudenį, kai [[Rasmus Lerdorf]]'as nusprendė patobulinti savo [[Home-Page]] (asmeninį puslapį) ir parašyti asmeninį varikliuką kuris atlikinėtų paprasčiausius veiksmus. Šį varikliuką parengė [[1995]] metų pradžioje ir pavadino „[[Personal Home Page Tools]]“. Šie „[[tools]]'ai“ mokėjo ne itin daug, ir galimybės jo buvo tik pačios paprasčiausios, sudarė ją vos keletą [[makrosas|makrosų]]. (Patį pirmajį [[Rasmus Lerdorf]]'o pranešimą į [[www]] konferenciją apie savo „[[Personal Home Page Tools]]“ [[1995]] metais.&lt;br /&gt;
&lt;br /&gt;
=== Antroji versija ===&lt;br /&gt;
&lt;br /&gt;
[[1995]] metų viduryje atsirado antroji varikliuko versija kuri vadinosi [[PHP/FI version 2]]. FI – dėl vienos priežasties: tiesiog Rasmus’as padarė papildomą paketą kuris jau mokėjo interpretuoti [[forma]]s ([[Form Interpretator]]). [[PHP/FI]] kompiliavosi į [[Apache Web]] serverį ir naudojo standartinį [[Apache API]]. PHP skriptai pasirodė spartesni serveryje nei [[CGI]], nes nereikėjo kurti naujo process’o. Po truputi PHP pradėjo lygintis savo galimybėmis su [[Perl]]'u (populiariausia kalba [[CGI]] rašymui). Su laiku buvo pridėta ir daugelių duomenų bazių palaikymas ([[MySQL]], [[Oracle]] ir t. t.), sąsaja [[GD]] bibliotekai (parašytas [[Rasmus]]'o ir iki šiol kuruojamas jo) leido dinamiškai kurti paveiksliukus. [[PHP/FI]] labai greitai pradėjo plisti.&lt;br /&gt;
&lt;br /&gt;
=== Trečioji versija ===&lt;br /&gt;
&lt;br /&gt;
[[1997]] metų pabaigoje [[Zeev Suraski]] ir [[Andi Gutmans]] nusprendė perrašyti PHP varikliuką su tikslu ištaisyti daugelį klaidų bei pagreitinti PHP skriptų atlikimą serveryje. Po pusės metų, [[1998]].06 išėjo nauja versija kuri buvo pavadinta [[PHP3]]. [[NetCraft]]'o duomenimis PHP [[1999]] metais naudojosi jau 1 mln. [[domenas|domenų]].&lt;br /&gt;
&lt;br /&gt;
=== Ketvirtoji versija ===&lt;br /&gt;
&lt;br /&gt;
[[1999]] m. pabaigoje buvo vėlgi perrašytas [[PHP3]] varikliukas (pavadinimu [[Zend Engine]]) ir išleista nauja versija [[PHP4]]. Skirtumai tarp šių versijų yra tikrai dideli, kartu su pagrindiniu PHP branduoliu atsirado daugybė išplėtimų ir jie vis dar nenustojami tobulinti ir rašyti (Išplėtimų pvz.: [[gd]], [[xslt]], [[sockets]], [[imap]], daugelių [[DB support]] ir t. t.).&lt;br /&gt;
&lt;br /&gt;
=== Penktoji versija ===&lt;br /&gt;
&lt;br /&gt;
[[2002]] metų sausį yra paruoštas vėlgi patobulintas PHP varikliukas pavadinimu Zend Engine 2. Jis buvo išleistas [[2002]] metų viduryje. Zend Engine 2 ir bus PHP5 „širdis bei smegenys“. Pasak Zeev Suraski daugiausia darbo buvo idėta į naujo objektinio modulio tobulinimą. Ištaisytas objekto kopijavimo atmintyje problema (buvo sunku atkasti ar tu sukuri jau esamo objekto kopiją), ideologija Zeev Suraski paėmė iš [[Java]]. Tiesiog kuriant objektą (new Object()) kintamasis nebus pats objektas o tiesiog nuoroda į jį, taip darant priskirimą naujam kintamajam bus priskiriamas nebe pats objektas o jo nuoroda (objektas nekopijuojamas atmintyje). Taip pat atsirado destruktoriai, išimčių valdymas (exception handling) (try]]/throw/catch) ir dauguma kitų pakeitimų – __clone(), __construct(), __destruct() ir t. t.&lt;br /&gt;
&lt;br /&gt;
== Kodo pavyzdys ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
function http_response($url, $status = null, $wait = 3)&lt;br /&gt;
{&lt;br /&gt;
        $time = microtime(true);&lt;br /&gt;
        $expire = $time + $wait;&lt;br /&gt;
&lt;br /&gt;
        // we fork the process so we don't have to wait for a timeout&lt;br /&gt;
        $pid = pcntl_fork();&lt;br /&gt;
        if ($pid == -1) {&lt;br /&gt;
            die('could not fork');&lt;br /&gt;
        } else if ($pid) {&lt;br /&gt;
            // we are the parent&lt;br /&gt;
            $ch = curl_init();&lt;br /&gt;
            curl_setopt($ch, CURLOPT_URL, $url);&lt;br /&gt;
            curl_setopt($ch, CURLOPT_HEADER, TRUE);&lt;br /&gt;
            curl_setopt($ch, CURLOPT_NOBODY, TRUE); // remove body&lt;br /&gt;
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);&lt;br /&gt;
            $head = curl_exec($ch);&lt;br /&gt;
            $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);&lt;br /&gt;
            curl_close($ch);&lt;br /&gt;
           &lt;br /&gt;
            if(!$head)&lt;br /&gt;
            {&lt;br /&gt;
                return FALSE;&lt;br /&gt;
            }&lt;br /&gt;
           &lt;br /&gt;
            if($status === null)&lt;br /&gt;
            {&lt;br /&gt;
                if($httpCode &amp;lt; 400)&lt;br /&gt;
                {&lt;br /&gt;
                    return TRUE;&lt;br /&gt;
                }&lt;br /&gt;
                else&lt;br /&gt;
                {&lt;br /&gt;
                    return FALSE;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            elseif($status == $httpCode)&lt;br /&gt;
            {&lt;br /&gt;
                return TRUE;&lt;br /&gt;
            }&lt;br /&gt;
           &lt;br /&gt;
            return FALSE;&lt;br /&gt;
            pcntl_wait($status); //Protect against Zombie children&lt;br /&gt;
        } else {&lt;br /&gt;
            // we are the child&lt;br /&gt;
            while(microtime(true) &amp;lt; $expire)&lt;br /&gt;
            {&lt;br /&gt;
            sleep(0.5);&lt;br /&gt;
            }&lt;br /&gt;
            return FALSE;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
?&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Išvestis būtų tokia: &amp;quot;see if a submitted URL has a valid http response code and also if it responds quickly. &amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Nuorodos ==&lt;br /&gt;
* [http://www.php.net PHP oficiali svetainė]&lt;br /&gt;
* [http://www.php.lt PHP lietuviška svetainė]&lt;br /&gt;
* Trečių šalių įrankiai:&lt;br /&gt;
** [http://www.xdebug.org/ Xdebug – Debugger ir Profiler įrankis PHP’ui]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tinklas]]&lt;br /&gt;
[[Category:Programavimas]]&lt;br /&gt;
[[Category:PHP]]&lt;/div&gt;</summary>
		<author><name>\dev\null</name></author>
	</entry>
</feed>