OverviewofPHPTechniquePHPisascriptinglanguageoriginallydesignedforproducingdynamicwebpages.Ithasevolvedtoincludeacommandlineinterfacecapabilityandcanbeusedinstandalonegraphicalapplications.WhilePHPwasoriginallycreatedbyRasmusLerdorfin1995,themainimplementationofPHPisnowproducedbyThePHPGroupandservesasthedefactostandardforPHPasthereisnoformalspecification.PHPisfreesoftwarereleasedunderthePHPLicense,howeveritisincompatiblewiththeGNUGeneralPublicLicense(GPL),duetorestrictionsontheusageofthetermPHP.PHPisawidely-usedgeneral-purposescriptinglanguagethatisespeciallysuitedforwebdevelopmentandcanbeembeddedintoHTML.Itgenerallyrunsonawebserver,takingPHPcodeasitsinputandcreatingwebpagesasoutput.Itcanbemillionwebsitesand1millionwebservers.PHPoriginallystoodforPersonalHomePage.Itbeganin1994asasetofCommonGatewayInterfacebinarieswrittenintheCprogramminglanguagebytheDanish/GreenlandicprogrammerRasmusLerdorf.LerdorfinitiallycreatedthesePersonalHomePageToolstoreplaceasmallsetofPerlscriptshehadbeenusingtomaintainhispersonalhomepage.Thetoolswereusedtoperformtaskssuchasdisplayinghisrésuméandrecordinghowmuchtraffichispagewasreceiving.HecombinedthesebinarieswithhisFormInterpretertocreatePHP/FI,whichhadmorefunctionality.PHP/FIincludedalargerimplementationfortheCprogramminglanguageandcouldcommunicatewithdatabases,enablingthebuildingofsimple,dynamicwebapplications.LerdorfreleasedPHPpubliclyonJune8,1995toacceleratebuglocationandimprovethecode.ThisreleasewasnamedPHPversion2andalreadyhadthebasicfunctionalitythatPHPhastoday.ThisincludedPerl-likevariables,formhandling,andtheabilitytoembedHTML.ThesyntaxwassimilartoPerlbutwasmorelimited,simpler,andlessconsistent.ZeevSuraskiandAndiGutmans,twoIsraelidevelopersattheTechnionIIT,rewrotetheparserin1997andformedthebaseofPHP3,changingthelanguage'snametotherecursiveinitialismPHP:HypertextPreprocessor.ThedevelopmentteamofficiallyreleasedPHP/FI2inNovember1997aftermonthsofbetatesting.Afterwards,publictestingofPHP3began,andtheofficiallaunchcameinJune1998.SuraskiandGutmansthenstartedanewrewriteofPHP'score,producingtheZendEnginein1999.TheyalsofoundedZendTechnologiesinRamatGan,Israel.OnMay22,2000,PHP4,poweredbytheZendEngine1.0,wasreleased.OnJuly13,2004,PHP5wasreleased,poweredbythenewZendEngineII.PHP5includednewfeaturessuchasimprovedsupportforobject-orientedprogramming,thePHPDataObjectsextension(whichdefinesalightweightandconsistentinterfaceforaccessingdatabases),andnumerousperformanceenhancements.ThemostrecentupdatereleasedbyThePHPGroupisfortheolderPHPversion4codebranch.AsofAugust,2008thisbranchisuptoversion4.4.9.PHP4isnolongerunderdevelopmentnorwillanysecurityupdatesbereleased.In2008,PHP5becametheonlystableversionunderdevelopment.LatestaticbindinghasbeenmissingfromPHPandwillbeaddedinversion5.3.PHP6isunderdevelopmentalongsidePHP5.Majorchangesincludetheremovalofregister_globals,magicquotes,andsafemode.Thereasonfortheremovalswasbecauseregister_globalshadgivenwaytosecurityholes,andmagicquoteshadanunpredictablenature,andwasbestavoided.Instead,toescapecharacters,magicquotesmaybesubstitutedwiththeaddslashes()function,ormoreappropriatelyanescapemechanismspecifictothedatabasevendoritselflikemysql_real_escape_string()forMySQL.PHPdoesnothavecompletenativesupportforUnicodeormultibytestrings;UnicodesupportwillbeincludedinPHP6.ManyhighprofileopensourceprojectsceasedtosupportPHP4innewcodeasofFebruary5,2008,duetotheGoPHP5initiative,providedbyaconsortiumofPHPdeveloperspromotingthetransitionfromPHP4toPHP1397Itrunsinboth32-bitand64-bitenvironments,butonWindowstheonlyofficialdistributionis32-bit,requiringWindows32-bitcompatibilitymodetobeenabledwhileusingIISina64-bitWindowsenvironment.Thereisathird-partydistributionavailablefor64-bitWindows.PHPisageneral-purposescriptinglanguagethatisespeciallysuitedforwebdevelopment.PHPgenerallyrunsonawebserver,takingPHPcodeasitsinputandcreatingwebpagesasoutput.Itcanalsobeusedforcommand-linescriptingandclient-sideGUIapplications.PHPcanbedeployedonmostwebservers,manyoperatingsystemsandplatforms,andcanbeusedwithmanyrelationaldatabasemanagementsystems.Itisavailablefreeofcharge,andthePHPGroupprovidesthecompletesourcecodeforuserstobuild,customizeandextendfortheirownuse.PHPprimarilyactsasafilter,takinginputfromafileorstreamcontainingtextand/orPHPinstructionsandoutputsanotherstreamofdata;mostcommonlytheoutputwillbeHTML.Itcanautomaticallydetectthelanguageoftheuser.FromPHP4,thePHPparsercompilesinputtoproducebytecodeforprocessingbytheZendEngine,givingimprovedperformanceoveritsinterpreterpredecessor.Originallydesignedtocreatedynamicwebpages,PHP'sprincipalfocusisserver-sidescripting,anditissimilartootherserver-sidescriptinglanguagesthatprovidedynamiccontentfromawebservertoaclient,suchasMicrosoft'sActiveServerPages,SunMicrosystems'JavaServerPages,andmod_perl.PHPhasalsoattractedthedevelopmentofmanyframeworksthatprovidebuildingblocksandadesignstructuretopromoterapidapplicationdevelopment(RAD).SomeoftheseincludeCakePHP,Symfony,CodeIgniter,andZendFramework,offeringfeaturessimilartootherwebapplicationframewo