{"id":38875,"date":"2021-04-28T08:30:36","date_gmt":"2021-04-28T06:30:36","guid":{"rendered":"https:\/\/kinsta.com\/?p=64815"},"modified":"2021-05-31T12:30:11","modified_gmt":"2021-05-31T12:30:11","slug":"serverless-php","status":"publish","type":"post","link":"https:\/\/kinsta.com\/se\/blog\/serverless-php\/","title":{"rendered":"Introduktion till serverl\u00f6s PHP: Viktiga funktioner, anv\u00e4ndningsfall och hur man kommer ig\u00e5ng med Bref p\u00e5 Lambda"},"content":{"rendered":"<p>Serverl\u00f6s datoranv\u00e4ndning \u00e4r en molnbaserad k\u00f6rningsmodell som g\u00f6r det m\u00f6jligt att vara hosting f\u00f6r program som en tj\u00e4nst, utan att beh\u00f6va underh\u00e5lla en server.<\/p>\n<p>Tj\u00e4nsteleverant\u00f6ren uppr\u00e4tth\u00e5ller resursallokeringen p\u00e5 servern och anv\u00e4ndaren faktureras baserat p\u00e5 den faktiska anv\u00e4ndningen. Fokus flyttas till den k\u00e4rnapplikation som man skapar och infrastrukturen hanteras enbart av tj\u00e4nsteleverant\u00f6ren. Serverl\u00f6s databehandling kallas \u00e4ven Funktion f\u00f6r en tj\u00e4nst (FaaS).<\/p>\n<p>Med andra ord \u00e4r Serverless PHP implementeringen av serverl\u00f6s databehandling med en\u00a0<a href=\"https:\/\/kinsta.com\/se\/blog\/vad-ar-php\/\">PHP-backend<\/a>\u00a0f\u00f6r att ge dig ett exempel.<\/p>\n<p>I den h\u00e4r guiden kommer vi att titta n\u00e4rmare p\u00e5 vad Serverless PHP betyder, dess huvudfunktioner och f\u00f6rdelar vs nackdelar f\u00f6r att ge dig en b\u00e4ttre f\u00f6rst\u00e5else f\u00f6r detta tillv\u00e4gag\u00e5ngss\u00e4tt mot\u00a0<a href=\"https:\/\/kinsta.com\/se\/blog\/typer-av-molntjanster\/\">molnbaserad databehandling<\/a>.<\/p>\n<p>Specifikt kommer vi att titta p\u00e5 begreppet serverl\u00f6s datoranv\u00e4ndning, dess anv\u00e4ndningsfall och omfattning, f\u00f6rdelar och nackdelar, en enkel implementering av serverl\u00f6s PHP med Bref och statusen f\u00f6r serverl\u00f6s PHP p\u00e5 de tre stora (<a href=\"https:\/\/kinsta.com\/se\/blog\/google-cloud-vs-aws\/\">Amazon<\/a>, Microsoft och\u00a0<a href=\"https:\/\/kinsta.com\/se\/blog\/moln-plattform-for-utvecklare\/\">Google<\/a>).<\/p>\n<p>Redo? L\u00e5t oss b\u00f6rja!<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<p>Traditionellt beh\u00f6vde du maskinvaran f\u00f6r en server f\u00f6r att konfigurera ett program p\u00e5 Internet. Serverdatorn (eller datorerna) skulle vara fysiskt ansluten till Internet f\u00f6r att n\u00e5gon ska f\u00e5 \u00e5tkomst till ditt program. Serverunderh\u00e5ll var en dyr aff\u00e4r.<\/p>\n<p>D\u00e4refter till\u00e4t utvecklingen av hostingtj\u00e4nster webbansvariga att k\u00f6pa hostingutrymme &#8211; varje server kunde inneh\u00e5lla flera applikationer. Detta s\u00e4nkte kostnaderna.<\/p>\n<p>Med \u00f6kningen av\u00a0<a href=\"https:\/\/kinsta.com\/se\/blog\/molnmarknadsandelar\/\">molnbaserad databehandling<\/a>, s\u00e5 minskade kostnaderna av skalf\u00f6rdelarna ytterligare, eftersom du kunde hyra en liten m\u00e4ngd utrymme p\u00e5 en stor, avl\u00e4gsen serverg\u00e5rd. Faktum \u00e4r att serverl\u00f6s databehandling g\u00f6r att du bara kan betala f\u00f6r de tj\u00e4nster du anv\u00e4nder. N\u00e4r du inte anv\u00e4nds, s\u00e5 anv\u00e4nder du praktiskt taget inte utrymme eller resurser i molnet.<\/p>\n<p>Serverl\u00f6s datoranv\u00e4ndning f\u00f6renklar programutvecklingsprocessen: den g\u00f6r det m\u00f6jligt f\u00f6r en organisation som enbart fokuserar p\u00e5 utveckling utan att oroa sig f\u00f6r distribution, server underh\u00e5ll och\u00a0<a href=\"https:\/\/kinsta.com\/docs\/wordpress-hosting\/wordpress-reference\/technical-faq\/#how-much-cpu-and-ram-does-each-plan-have\">Skalning<\/a>.<\/p>\n<h2>Serverl\u00f6s PHP: Grunderna<\/h2>\n<figure id=\"attachment_67726\" aria-describedby=\"caption-attachment-67726\" style=\"width: 1144px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-67726 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2020\/03\/serverless-trends.png\" alt=\"Trender f\u00f6r termen \"serverl\u00f6s\" p\u00e5 Google\" width=\"1144\" height=\"608\"><figcaption id=\"caption-attachment-67726\" class=\"wp-caption-text\">Trender f\u00f6r termen &#8221;serverl\u00f6s&#8221; p\u00e5 Google<\/figcaption><\/figure>\n<p>Om du vill distribuera ett serverl\u00f6st PHP-program b\u00f6r du f\u00f6rst utforska begreppet serverl\u00f6s datoranv\u00e4ndning. Termen serverl\u00f6s d\u00f6k f\u00f6rst upp i\u00a0<a href=\"https:\/\/readwrite.com\/2012\/10\/15\/why-the-future-of-software-and-apps-is-serverless\/\">den h\u00e4r artikeln om framtiden f\u00f6r mjukvaruutveckling<\/a>\u00a0fr\u00e5n 2012 p\u00e5 ReadWrite blev det popul\u00e4rt med lanseringen av\u00a0<a href=\"https:\/\/kinsta.com\/se\/blog\/google-cloud-vs-aws\/\">AWS<\/a>\u00a0Lambda 2014.<\/p>\n<p>I det h\u00e4r avsnittet, l\u00e5t oss fokusera p\u00e5 n\u00e5gra viktiga begrepp relaterade till serverl\u00f6s datoranv\u00e4ndning och f\u00f6rs\u00f6ka svara p\u00e5 en vanlig fr\u00e5ga som omger denna teknik: \u00e4r det verkligen serverl\u00f6st?<\/p>\n<h3>Funktioner i Serverless PHP<\/h3>\n<p>Distribution \u00e4r en enkel uppgift utan att hantera servern. Du laddar helt enkelt upp din kod p\u00e5 servern och resten tas om hand av leverant\u00f6ren. Med serverl\u00f6s teknik kan du ha spr\u00e5koberoende funktioner som interagerar med varandra.<\/p>\n<p>Om du till exempel har ett meddelandeprogram kan inloggningsmodulen kodas p\u00e5 ett spr\u00e5k och funktionen som uppdaterar din status kan kodas p\u00e5 ett annat spr\u00e5k.<\/p>\n<p>\u00c4ven om detta fortfarande \u00e4r m\u00f6jligt utan serverl\u00f6s hosting, \u00e4r det definitivt sv\u00e5rare att interagera. N\u00e4r en \u00e5tg\u00e4rd utl\u00f6ser din funktion skapas en f\u00f6rekomst f\u00f6r att hantera den.<\/p>\n<p>Den h\u00e4r processen f\u00f6r att skapa en instans kan vara &#8221;varm&#8221;, d\u00e4r du anv\u00e4nder en befintlig instans eller &#8221;kall&#8221;, d\u00e4r du startar en ny instans. Det finns en liten f\u00f6rdr\u00f6jning i den h\u00e4r processen, s\u00e4rskilt en kall start, j\u00e4mf\u00f6rt med traditionell hosting, d\u00e4r din server alltid \u00e4r i standby-l\u00e4ge f\u00f6r att hantera f\u00f6rfr\u00e5gningar.<\/p>\n<p>Situationen mellan serverl\u00f6s och traditionell hosting blir dock precis den motsatta n\u00e4r du har ett stort antal f\u00f6rfr\u00e5gningar att hantera. Skalbarhet kommer till sin natur med serverl\u00f6s teknik. Om du har ett pl\u00f6tsligt krav p\u00e5 tusen samtidiga f\u00f6rfr\u00e5gningar kommer leverant\u00f6ren att ta hand om dem utan extra anstr\u00e4ngning eller konfiguration fr\u00e5n din sida.<\/p>\n<h3>\u00c4r Serverless PHP verkligen serverl\u00f6st?<\/h3>\n<p>L\u00e5t inte termen &#8221;serverl\u00f6s&#8221; f\u00f6rvirra dig. Det betyder inte att &#8221;servern&#8221; inte finns. N\u00e4r du anv\u00e4nder ett serverl\u00f6st program finns det en server i bakgrunden som bearbetar indata och ber\u00e4knar n\u00f6dv\u00e4ndiga utdata.<\/p>\n<p>&#8221;l\u00f6st&#8221; \u00e4r n\u00e4rvarande i termen ur perspektivet av\u00a0<a href=\"https:\/\/kinsta.com\/blog\/hire-wordpress-developer\/\">F\u00f6rfattare<\/a>, som aldrig exponeras f\u00f6r olika delar av servern. Om du distribuerar ett serverl\u00f6st PHP-program k\u00f6rs d\u00e4rf\u00f6r en faktisk server i molnet som tillgodoser f\u00f6rfr\u00e5gningar.<\/p>\n<h2>BaaS vs Serverl\u00f6sa arkitekturer<\/h2>\n<p>\u00c4ven om &#8221;serverl\u00f6s databehandling&#8221; inte \u00e4r t\u00e4tt definierad kan den ocks\u00e5 referera till BaaS-program (Backend as a Service). BaaS h\u00e4nvisar ocks\u00e5 till en molnbaserad datormodell, d\u00e4r serveroperationer l\u00e4ggs ut p\u00e5 en tredje part och en utvecklare bara beh\u00f6ver fokusera p\u00e5 att skapa och\u00a0<a href=\"https:\/\/kinsta.com\/se\/blog\/wordpress-underhall\/\">underh\u00e5ll av programvaran<\/a>.<\/p>\n<p>Den prim\u00e4ra likheten mellan BaaS och Serverl\u00f6s \u00e4r det faktum att utvecklaren inte fokuserar p\u00e5 serverhantering. M\u00e5nga organisationer tillhandah\u00e5ller BaaS- och FaaS-paket under samma paraply.<\/p>\n<p>H\u00e4r \u00e4r de stora\u00a0<strong>skillnaderna mellan BaaS och serverl\u00f6s databehandling:<\/strong><\/p>\n<ul>\n<li>Komponenter: BaaS-applikationer liknar sina traditionella motsvarigheter, en utvecklare kanske inte g\u00f6r \u00e4ndringar i sin struktur f\u00f6r att anpassa sig till BaaS. I serverl\u00f6s \u00e4r programmet indelat i logiska delar som kallas funktioner, och var och en av dessa funktioner svarar p\u00e5 en h\u00e4ndelse och utf\u00f6r en specifik uppgift.<\/li>\n<li>Skalbarhet: Skalbarhet \u00e4r en viktig komponent i ett serverl\u00f6st program \u2013 fler resurser allokeras med \u00f6kad trafik. Det \u00e4r inte en n\u00f6dv\u00e4ndig modul f\u00f6r BaaS-applikationer, \u00e4ven om vissa tj\u00e4nsteleverant\u00f6rer tillhandah\u00e5ller det som ett till\u00e4gg.<\/li>\n<li>Utl\u00f6sare: Ett serverl\u00f6st program \u00e4r h\u00e4ndelsedrivet, vilket inneb\u00e4r att en viss aktivitet utl\u00f6ser programmet varje g\u00e5ng det intr\u00e4ffar. \u00c5 andra sidan kan ett BaaS-program k\u00f6ras i bakgrunden med resurser kontinuerligt precis som ett traditionellt program.<\/li>\n<li>Modul\u00e4r arkitektur: I den serverl\u00f6sa arkitekturen \u00e4r det m\u00f6jligt f\u00f6r olika funktioner i ett program att finnas och k\u00f6ras p\u00e5 olika servrar, men k\u00f6ras s\u00f6ml\u00f6st p\u00e5 grund av deras integrering. En BaaS-applikation kan f\u00f6lja denna struktur eller inte.<\/li>\n<\/ul>\n<h2>Serverl\u00f6s PHP: Anv\u00e4ndningsfall<\/h2>\n<p>Vi har diskuterat olika aspekter av serverl\u00f6s databehandling och hur det skiljer sig fr\u00e5n BaaS. \u00c4ven om vi har t\u00e4ckt grunderna i serverl\u00f6s databehandling, l\u00e5t oss utforska situationer n\u00e4r du kanske vill anv\u00e4nda en s\u00e5dan arkitektur.<\/p>\n<p>Du kanske har insett att det kanske inte \u00e4r en bra id\u00e9 att vara hosting f\u00f6r komplexa program p\u00e5 serverl\u00f6s teknik. Men \u00e4ven om du best\u00e4mmer dig f\u00f6r att inte distribuera ett komplett program via serverl\u00f6s PHP kan du distribuera moduler.<\/p>\n<p>Vi kommer att diskutera tv\u00e5 exempel p\u00e5 implementeringar av en serverl\u00f6s stack i det h\u00e4r avsnittet:\u00a0<strong>databaser<\/strong>\u00a0och\u00a0<strong>fillagring<\/strong>.<\/p>\n<p>En serverl\u00f6s databas \u00e4r en p\u00e5 beg\u00e4ran-databas som l\u00e5ter dig k\u00f6ra fr\u00e5gor n\u00e4r du beh\u00f6ver dem. Skalning \u00e4r enkelt p\u00e5 grund av den serverl\u00f6sa stacken och leverant\u00f6rsr\u00e4kningarna som du bara fakturerar under den tid du anv\u00e4nder resursen.<\/p>\n<p><a href=\"https:\/\/aws.amazon.com\/rds\/aurora\/\">Amazon Aurora<\/a>\u00a0och\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Google_Cloud_Datastore\">Google Cloud Datastore<\/a>\u00a0\u00e4r exempel p\u00e5 serverl\u00f6sa databaser som \u00e4r tillg\u00e4ngliga p\u00e5 marknaden idag. Ett serverl\u00f6st fillagringssystem implementeras som\u00a0<a href=\"http:\/\/jamesthom.as\/blog\/2018\/04\/27\/managing-serverless-files-with-ibm-cloud-object-storage\/\">objektarkiv<\/a>. Filer behandlas inte som en hierarki i ett filsystem, utan som objekt, som inneh\u00e5ller data f\u00f6r sj\u00e4lva filen och dess metadata. Lagring och h\u00e4mtning \u00e4r genom en\u00a0<a href=\"https:\/\/kinsta.com\/se\/blog\/wordpress-rest-api\/\">REST-liknande API<\/a>.<\/p>\n<p>IBM Cloud ger dig\u00a0<a href=\"https:\/\/console.bluemix.net\/docs\/services\/cloud-object-storage\/about-cos.html\">en objektlagringstj\u00e4nst<\/a>. Andra vanliga anv\u00e4ndningsfall av serverl\u00f6sa program \u00e4r API: er och mobila server delar, vars design \u00e4r baserad p\u00e5 sm\u00e5, logiska, beroende funktioner.<\/p>\n<h2>Serverl\u00f6s PHP: F\u00f6rdelar<\/h2>\n<p>I det h\u00e4r avsnittet tittar vi p\u00e5 de viktigaste f\u00f6rdelarna med serverl\u00f6s datoranv\u00e4ndning och varf\u00f6r den f\u00e5r dragkraft under de senaste \u00e5ren.<\/p>\n<h3>Minskade serverkostnader<\/h3>\n<p>Teoretiskt sett leder serverl\u00f6s databehandling till\u00a0<a href=\"https:\/\/kinsta.com\/se\/blog\/sysadmin\/\">l\u00e4gre kostnader<\/a>\u00a0j\u00e4mf\u00f6rt med traditionell hosting. Den inneboende orsaken \u00e4r enkel: du anv\u00e4nder tj\u00e4nsten under specifika tidsperioder och det finns inga underh\u00e5llskostnader under inaktiva tider. Om du st\u00e5r inf\u00f6r\u00a0<a href=\"https:\/\/kinsta.com\/se\/blog\/driva-trafik-till-din-webbplats\/\">konstant trafik \u00f6ver tid<\/a> att anta en serverl\u00f6s arkitektur kanske dock inte leder till n\u00e5gon st\u00f6rre skillnad i kostnader.<\/p>\n<h3>Enklare distribution<\/h3>\n<p>Distribution av en serverl\u00f6s tj\u00e4nst kr\u00e4ver inte att du\u00a0<a href=\"https:\/\/kinsta.com\/se\/blog\/hur-man-anvander-ssh\/\">konfigurerar servern och konfigurerar den<\/a>. Distribution av ett serverl\u00f6st program \u00e4r ocks\u00e5 genom enkla funktioner. Det \u00e4r enklare att skapa en version av programmet och g\u00f6ra det tillg\u00e4ngligt i molnet. Hela distributionsprocessen \u00e4r d\u00e4rf\u00f6r enklare och effektivare.<\/p>\n<h3>Skalbarhet<\/h3>\n<p>I en traditionell installation m\u00e5ste man g\u00f6ra en hel del anstr\u00e4ngningar f\u00f6r att\u00a0<a href=\"https:\/\/kinsta.com\/se\/blog\/trafikokning-overspanningar\/\">skala upp f\u00f6r att tillgodose h\u00f6gre trafik<\/a>. \u00c5 andra sidan tar tj\u00e4nsteleverant\u00f6ren hand om resursallokeringen n\u00e4r trafiken \u00f6kar. D\u00e4rf\u00f6r \u00e4r det enklare att skala upp n\u00e4r du distribuerar till en serverl\u00f6s arkitektur.<\/p>\n<h2>Serverl\u00f6s PHP: Nackdelar<\/h2>\n<p>\u00c4ven om serverl\u00f6s datoranv\u00e4ndning har sin r\u00e4ttvisa upps\u00e4ttning av f\u00f6rdelar, m\u00e5ste man vara medveten om dess potentiella nackdelar innan man f\u00f6rbinder sig.<\/p>\n<h3>Prestanda<\/h3>\n<p>Det prim\u00e4ra problemet som anv\u00e4ndare lyfter fram med serverl\u00f6s databehandling \u00e4r\u00a0<a href=\"https:\/\/kinsta.com\/blog\/debugging-wordpress-performance\/\">prestandadippen<\/a>. \u00c4ven om det \u00e4r h\u00e4ndelsedrivet kr\u00e4vs det n\u00e5gra hundra millisekunder f\u00f6r att skapa en mikroinstans f\u00f6r att tj\u00e4na en beg\u00e4ran.<\/p>\n<p>Denna f\u00f6rdr\u00f6jning kan visa sig vara betydande f\u00f6r tidskritiska program. Med en \u00f6kning av komplexiteten i ett program l\u00e4gger komponenter som \u00e4r bosatta p\u00e5 olika platser till den h\u00e4r f\u00f6rdr\u00f6jningen. Denna tillsatstidsf\u00f6rdr\u00f6jning kan visa sig vara skadlig f\u00f6r anv\u00e4ndarupplevelsen.<\/p>\n<p>(F\u00f6reslagen l\u00e4sning:\u00a0<a href=\"https:\/\/kinsta.com\/blog\/gatsby-wordpress\/\">Introduktion till att bygga webbplatser med Gatsby och WordPress<\/a>)<\/p>\n<h3>Inl\u00e5sning av leverant\u00f6r<\/h3>\n<p>Medan serverl\u00f6s arkitektur l\u00e5ter dig fokusera enbart p\u00e5\u00a0<a href=\"https:\/\/kinsta.com\/blog\/edit-wordpress-code\/\">din kod<\/a> f\u00e5r leverant\u00f6ren total kontroll \u00f6ver infrastrukturen. D\u00e4rf\u00f6r kan du inte \u00e4ndra din leverant\u00f6r om du g\u00e5r serverl\u00f6s, eftersom migrering kan vara en sv\u00e5r uppgift.<\/p>\n<h3>Fels\u00f6kning<\/h3>\n<p>Leverant\u00f6rer tar hand om distributionen fr\u00e5n b\u00f6rjan till av serverl\u00f6sa program. D\u00e4rf\u00f6r m\u00e5ste en utvecklare vara beroende av leverant\u00f6ren f\u00f6r att tillhandah\u00e5lla l\u00e4mpliga\u00a0<a href=\"https:\/\/kinsta.com\/blog\/wordpress-error-log\/\">loggar f\u00f6r fels\u00f6kning<\/a>. Processen att fels\u00f6ka ett serverl\u00f6st program f\u00f6r att identifiera grundorsaken \u00e4r ocks\u00e5 sv\u00e5r.<\/p>\n<h2>Serverl\u00f6s PHP: Kom ig\u00e5ng med Bref p\u00e5 Lambda<\/h2>\n<p>Medan vi har utforskat den serverl\u00f6sa arkitekturen ser vi nu vad du beh\u00f6ver f\u00f6r att distribuera ett PHP-program via en serverl\u00f6s tj\u00e4nst.<\/p>\n<p>Som du kanske redan har gissat \u00e4r distributionen av ett serverl\u00f6st\u00a0<strong>program mycket specifik f\u00f6r leverant\u00f6ren<\/strong>. D\u00e4rf\u00f6r f\u00f6rs\u00f6ker det h\u00e4r inl\u00e4gget ta itu med implementeringarna av en serverl\u00f6s PHP-app p\u00e5 Amazon AWS. Bref, eller kortfattat p\u00e5 franska, \u00e4r ett Composer-paket som l\u00e5ter dig distribuera PHP-applikationer p\u00e5 AWS via Lambda.<\/p>\n<p>Bref utvecklas st\u00e4ndigt, s\u00e5 du b\u00f6r f\u00f6rmodligen kontrollera\u00a0<a href=\"https:\/\/bref.sh\/docs\/#maturity-matrix\">Brefs mognadsmatris<\/a>\u00a0f\u00f6r att bed\u00f6ma om det \u00e4r en bra id\u00e9 att importera ditt program till en serverl\u00f6s arkitektur.<\/p>\n<h3>Pre-N\u00f6dv\u00e4ndiga f\u00f6r serverl\u00f6s PHP med Bref<\/h3>\n<p>G\u00e5 f\u00f6rst till\u00a0<a href=\"https:\/\/aws.amazon.com\/\">Amazon AWS<\/a>\u00a0och skapa ett konto. Du beh\u00f6ver det f\u00f6r att distribuera ditt program. D\u00e4refter m\u00e5ste du installera\u00a0<a href=\"https:\/\/serverless.com\/\">det serverl\u00f6sa ramverket<\/a>\u00a0f\u00f6r att hantera distributionen.<\/p>\n<pre><code class=\"language-bash\">npm install -g serverless\n<\/code><\/pre>\n<p>N\u00e4sta\u00a0<a href=\"https:\/\/console.aws.amazon.com\/iam\/home?#\/users%24new?step=details\">generera ditt offentlig-privata nyckelpar<\/a>\u00a0p\u00e5 AWS och konfigurera det serverl\u00f6sa ramverket lokalt.<\/p>\n<pre><code class=\"language-bash\">serverless config credentials --provider aws --key &lt;key&gt; --secret &lt;secret&gt;\n<\/code><\/pre>\n<p>Installera sedan Bref via Composer:<\/p>\n<p><code class=\"language-bash\">composer require bref\/bref<\/code><\/p>\n<p>Innan distributionen m\u00e5ste du installera Composers beroenden.<\/p>\n<pre><code class=\"language-bash\">composer install --prefer-dist --optimize-autoloader --no-dev<\/code><\/pre>\n<h3>Skapa ett Hello World-program p\u00e5 Serverl\u00f6sa PHP med Bref<\/h3>\n<p>F\u00f6r att skapa ett enkelt hello world-program med Bref kommer vi att skriva en funktion som utl\u00f6ses av en h\u00e4ndelse och returnerar str\u00e4ngen &#8221;Hello World&#8221;.<\/p>\n<p>F\u00f6rst m\u00e5ste du inkludera Brefs autoload.php och sedan anv\u00e4nda dess lambda-funktion. Du kan ocks\u00e5 deklarera\u00a0<a href=\"https:\/\/bref.sh\/docs\/runtimes\/function.html#context\">en kontextvariabel<\/a>\u00a0om du vill komma \u00e5t data fr\u00e5n sammanhanget.<\/p>\n<pre><code class=\"language-php\">require __DIR__.'\/vendor\/autoload.php';\nlambda(function ($event) {\n return 'Hello world');\n});\n<\/code><\/pre>\n<p>N\u00e4r funktionen \u00e4r klar m\u00e5ste du skapa en serverl\u00f6s.yml-konfigurationsfil. H\u00e4r \u00e4r en grundl\u00e4ggande konfigurationsfil fr\u00e5n Brefs guide.<\/p>\n<pre><code class=\"language-bash\">service: app\nprovider:\n name: aws\n runtime: provided\nplugins:\n - .\/vendor\/bref\/bref\nfunctions:\n hello:\n handler: index.php\n layers:\n - ${bref:layer.php-73}\n<\/code><\/pre>\n<p>Bref skapar den h\u00e4r konfigurationsfilen automatiskt n\u00e4r du k\u00f6r f\u00f6ljande kommando.<\/p>\n<pre><code class=\"language-bash\">vendor\/bin\/bref init<\/code><\/pre>\n<p>Nu n\u00e4r du \u00e4r redo med din funktion och konfigurationen kan du anropa funktionen f\u00f6r att kontrollera att den k\u00f6rs som avsett med kommandot i det serverl\u00f6sa paketet:<code>invoke<\/code><\/p>\n<pre><code class=\"language=bash\">serverless invoke -f hello<\/code><\/pre>\n<p>H\u00e4r \u00e4r en guide om\u00a0<a href=\"https:\/\/bref.sh\/docs\/local-development.html\">lokal distribution av serverl\u00f6sa program<\/a>\u00a0med kommandoradsverktyget Sam fr\u00e5n AWS. N\u00e4r projektet \u00e4r klart kan du distribuera det med kommandot distribuera serverl\u00f6st. Anv\u00e4nd alternativet f\u00f6r att f\u00e5 information om distributionsprocessen:<code>--verbose<\/code><\/p>\n<pre><code class=\"language=bash\">serverless deploy<\/code><\/pre>\n<h3>Andra distributionsalternativ f\u00f6r serverl\u00f6s PHP<\/h3>\n<p>Bref PHP p\u00e5 AWS Lambda \u00e4r ett popul\u00e4rt val. Det finns dock n\u00e5gra andra alternativ f\u00f6r dina serverl\u00f6sa PHP-program.<\/p>\n<p><a href=\"https:\/\/vapor.laravel.com\/\">\u00c5nga<\/a>, lanserad av\u00a0<a href=\"https:\/\/kinsta.com\/se\/blog\/laravel-tutorial\/\">Laravel<\/a> (olika betydelser)\u00a0i juli 2019, \u00e4r en serverl\u00f6s distributionsplattform f\u00f6r Laravel p\u00e5 AWS Lambda. \u00c5nga omvandlar din Laravel-applikation till en enda lambda-funktion. Medan Azure-serverl\u00f6s\u00a0<a href=\"https:\/\/docs.microsoft.com\/en-in\/azure\/azure-functions\/\">st\u00f6der inte officiellt PHP<\/a> kan du fortfarande prova att anv\u00e4nda\u00a0<a href=\"https:\/\/github.com\/kaz29\/serverless-azure-php-example\">det h\u00e4r distributions exemplet<\/a>.<\/p>\n\n<h2>Sammanfattning<\/h2>\n<p>H\u00e4r \u00e4r viktiga aspekter som du b\u00f6r ta bort fr\u00e5n den h\u00e4r guiden om serverl\u00f6s PHP:<\/p>\n<ul>\n<li>Innan du \u00f6verv\u00e4ger att anv\u00e4nda serverl\u00f6s PHP f\u00f6r ditt program, se till att du \u00e4r fullt medveten om vad serverl\u00f6s datoranv\u00e4ndning \u00e4r, dess f\u00f6rdelar och nackdelar.<\/li>\n<li>Det finns tre prim\u00e4ra faktorer som du b\u00f6r t\u00e4nka p\u00e5 n\u00e4r du importerar ditt program till en serverl\u00f6s\u00a0<a href=\"https:\/\/kinsta.com\/se\/blog\/php-ramverken\/\">PHP-ramverk<\/a>. T\u00e4nk p\u00e5 programmets komplexitet, tidskritiskheten f\u00f6r dess komponenter och skalbarheten i framtiden.<\/li>\n<li>Serverl\u00f6s PHP \u00e4r fortfarande ganska ny p\u00e5 marknaden. Se till att du k\u00f6r en pilot med Bref p\u00e5 en av leverant\u00f6rerna innan du engagerar dig fullt ut i den.<\/li>\n<\/ul>\n<p>\u00c4ven om serverl\u00f6s blir mycket popul\u00e4r kr\u00e4ver det ocks\u00e5 en djup f\u00f6rst\u00e5else f\u00f6r hur tekniken fungerar f\u00f6r att dra nytta av den.<\/p>\n<p>I alla andra fall kan du anv\u00e4nda en\u00a0<a href=\"https:\/\/kinsta.com\/se\/wordpress-hosting\/\">hanterad WordPress-hosting som Kinsta<\/a>\u00a0som kan f\u00f6renkla ditt arbetsfl\u00f6de enormt.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Serverl\u00f6s datoranv\u00e4ndning \u00e4r en molnbaserad k\u00f6rningsmodell som g\u00f6r det m\u00f6jligt att vara hosting f\u00f6r program som en tj\u00e4nst, utan att beh\u00f6va underh\u00e5lla en server. Tj\u00e4nsteleverant\u00f6ren uppr\u00e4tth\u00e5ller &#8230;<\/p>\n","protected":false},"author":118,"featured_media":38879,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[347,348],"topic":[],"class_list":["post-38875","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-aws","tag-serverless"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Introduktion till serverl\u00f6s PHP<\/title>\n<meta name=\"description\" content=\"I den h\u00e4r detaljerade guiden om serverl\u00f6s PHP t\u00e4cker vi grunderna f\u00f6r serverl\u00f6s datoranv\u00e4ndning och hj\u00e4lper dig att avg\u00f6ra om din applikation ska distribueras med den.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/se\/blog\/serverless-php\/\" \/>\n<meta property=\"og:locale\" content=\"sv_SE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Introduktion till serverl\u00f6s PHP: Viktiga funktioner, anv\u00e4ndningsfall och hur man kommer ig\u00e5ng med Bref p\u00e5 Lambda\" \/>\n<meta property=\"og:description\" content=\"I den h\u00e4r detaljerade guiden om serverl\u00f6s PHP t\u00e4cker vi grunderna f\u00f6r serverl\u00f6s datoranv\u00e4ndning och hj\u00e4lper dig att avg\u00f6ra om din applikation ska distribueras med den.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/se\/blog\/serverless-php\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstasweden\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-04-28T06:30:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-05-31T12:30:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2021\/04\/serverless-php.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Shaumik Daityari\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"I den h\u00e4r detaljerade guiden om serverl\u00f6s PHP t\u00e4cker vi grunderna f\u00f6r serverl\u00f6s datoranv\u00e4ndning och hj\u00e4lper dig att avg\u00f6ra om din applikation ska distribueras med den.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2021\/04\/serverless-php.jpeg\" \/>\n<meta name=\"twitter:creator\" content=\"@kinsta_se\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_se\" \/>\n<meta name=\"twitter:label1\" content=\"Skriven av\" \/>\n\t<meta name=\"twitter:data1\" content=\"Shaumik Daityari\" \/>\n\t<meta name=\"twitter:label2\" content=\"Ber\u00e4knad l\u00e4stid\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minuter\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/se\/blog\/serverless-php\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/se\/blog\/serverless-php\/\"},\"author\":{\"name\":\"Shaumik Daityari\",\"@id\":\"https:\/\/kinsta.com\/se\/#\/schema\/person\/9d2eef02950231307b3e89cc7c932036\"},\"headline\":\"Introduktion till serverl\u00f6s PHP: Viktiga funktioner, anv\u00e4ndningsfall och hur man kommer ig\u00e5ng med Bref p\u00e5 Lambda\",\"datePublished\":\"2021-04-28T06:30:36+00:00\",\"dateModified\":\"2021-05-31T12:30:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/se\/blog\/serverless-php\/\"},\"wordCount\":2512,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/se\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/se\/blog\/serverless-php\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2021\/04\/serverless-php.jpeg\",\"keywords\":[\"aws\",\"serverless\"],\"articleSection\":[\"WordPress-utveckling\"],\"inLanguage\":\"sv-SE\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/se\/blog\/serverless-php\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/se\/blog\/serverless-php\/\",\"url\":\"https:\/\/kinsta.com\/se\/blog\/serverless-php\/\",\"name\":\"Introduktion till serverl\u00f6s PHP\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/se\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/se\/blog\/serverless-php\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/se\/blog\/serverless-php\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2021\/04\/serverless-php.jpeg\",\"datePublished\":\"2021-04-28T06:30:36+00:00\",\"dateModified\":\"2021-05-31T12:30:11+00:00\",\"description\":\"I den h\u00e4r detaljerade guiden om serverl\u00f6s PHP t\u00e4cker vi grunderna f\u00f6r serverl\u00f6s datoranv\u00e4ndning och hj\u00e4lper dig att avg\u00f6ra om din applikation ska distribueras med den.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/se\/blog\/serverless-php\/#breadcrumb\"},\"inLanguage\":\"sv-SE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/se\/blog\/serverless-php\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\/\/kinsta.com\/se\/blog\/serverless-php\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2021\/04\/serverless-php.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2021\/04\/serverless-php.jpeg\",\"width\":1460,\"height\":730,\"caption\":\"serverless-php\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/se\/blog\/serverless-php\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/se\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Introduktion till serverl\u00f6s PHP: Viktiga funktioner, anv\u00e4ndningsfall och hur man kommer ig\u00e5ng med Bref p\u00e5 Lambda\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/se\/#website\",\"url\":\"https:\/\/kinsta.com\/se\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Snabba, s\u00e4kra, premium hosting-l\u00f6sningar\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/se\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/se\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"sv-SE\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/se\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/se\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\/\/kinsta.com\/se\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/se\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstasweden\/\",\"https:\/\/x.com\/kinsta_se\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/se\/#\/schema\/person\/9d2eef02950231307b3e89cc7c932036\",\"name\":\"Shaumik Daityari\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\/\/kinsta.com\/se\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/feb5b18a7ac559ec6c8e8afcf96418ac?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/feb5b18a7ac559ec6c8e8afcf96418ac?s=96&d=mm&r=g\",\"caption\":\"Shaumik Daityari\"},\"description\":\"Shaumik is a data analyst by day, and a comic book enthusiast by night (or maybe, he's Batman?) Shaumik has been writing tutorials and creating screencasts for over five years. When not working, he's busy automating mundane daily tasks through meticulously written scripts!\",\"url\":\"https:\/\/kinsta.com\/se\/blog\/author\/shaumikdaityari\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Introduktion till serverl\u00f6s PHP","description":"I den h\u00e4r detaljerade guiden om serverl\u00f6s PHP t\u00e4cker vi grunderna f\u00f6r serverl\u00f6s datoranv\u00e4ndning och hj\u00e4lper dig att avg\u00f6ra om din applikation ska distribueras med den.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/se\/blog\/serverless-php\/","og_locale":"sv_SE","og_type":"article","og_title":"Introduktion till serverl\u00f6s PHP: Viktiga funktioner, anv\u00e4ndningsfall och hur man kommer ig\u00e5ng med Bref p\u00e5 Lambda","og_description":"I den h\u00e4r detaljerade guiden om serverl\u00f6s PHP t\u00e4cker vi grunderna f\u00f6r serverl\u00f6s datoranv\u00e4ndning och hj\u00e4lper dig att avg\u00f6ra om din applikation ska distribueras med den.","og_url":"https:\/\/kinsta.com\/se\/blog\/serverless-php\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstasweden\/","article_published_time":"2021-04-28T06:30:36+00:00","article_modified_time":"2021-05-31T12:30:11+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2021\/04\/serverless-php.jpeg","type":"image\/jpeg"}],"author":"Shaumik Daityari","twitter_card":"summary_large_image","twitter_description":"I den h\u00e4r detaljerade guiden om serverl\u00f6s PHP t\u00e4cker vi grunderna f\u00f6r serverl\u00f6s datoranv\u00e4ndning och hj\u00e4lper dig att avg\u00f6ra om din applikation ska distribueras med den.","twitter_image":"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2021\/04\/serverless-php.jpeg","twitter_creator":"@kinsta_se","twitter_site":"@kinsta_se","twitter_misc":{"Skriven av":"Shaumik Daityari","Ber\u00e4knad l\u00e4stid":"10 minuter"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/se\/blog\/serverless-php\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/se\/blog\/serverless-php\/"},"author":{"name":"Shaumik Daityari","@id":"https:\/\/kinsta.com\/se\/#\/schema\/person\/9d2eef02950231307b3e89cc7c932036"},"headline":"Introduktion till serverl\u00f6s PHP: Viktiga funktioner, anv\u00e4ndningsfall och hur man kommer ig\u00e5ng med Bref p\u00e5 Lambda","datePublished":"2021-04-28T06:30:36+00:00","dateModified":"2021-05-31T12:30:11+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/se\/blog\/serverless-php\/"},"wordCount":2512,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/se\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/se\/blog\/serverless-php\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2021\/04\/serverless-php.jpeg","keywords":["aws","serverless"],"articleSection":["WordPress-utveckling"],"inLanguage":"sv-SE","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/se\/blog\/serverless-php\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/se\/blog\/serverless-php\/","url":"https:\/\/kinsta.com\/se\/blog\/serverless-php\/","name":"Introduktion till serverl\u00f6s PHP","isPartOf":{"@id":"https:\/\/kinsta.com\/se\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/se\/blog\/serverless-php\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/se\/blog\/serverless-php\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2021\/04\/serverless-php.jpeg","datePublished":"2021-04-28T06:30:36+00:00","dateModified":"2021-05-31T12:30:11+00:00","description":"I den h\u00e4r detaljerade guiden om serverl\u00f6s PHP t\u00e4cker vi grunderna f\u00f6r serverl\u00f6s datoranv\u00e4ndning och hj\u00e4lper dig att avg\u00f6ra om din applikation ska distribueras med den.","breadcrumb":{"@id":"https:\/\/kinsta.com\/se\/blog\/serverless-php\/#breadcrumb"},"inLanguage":"sv-SE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/se\/blog\/serverless-php\/"]}]},{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/kinsta.com\/se\/blog\/serverless-php\/#primaryimage","url":"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2021\/04\/serverless-php.jpeg","contentUrl":"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2021\/04\/serverless-php.jpeg","width":1460,"height":730,"caption":"serverless-php"},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/se\/blog\/serverless-php\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/se\/"},{"@type":"ListItem","position":2,"name":"Introduktion till serverl\u00f6s PHP: Viktiga funktioner, anv\u00e4ndningsfall och hur man kommer ig\u00e5ng med Bref p\u00e5 Lambda"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/se\/#website","url":"https:\/\/kinsta.com\/se\/","name":"Kinsta\u00ae","description":"Snabba, s\u00e4kra, premium hosting-l\u00f6sningar","publisher":{"@id":"https:\/\/kinsta.com\/se\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/se\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"sv-SE"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/se\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/se\/","logo":{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/kinsta.com\/se\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/se\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstasweden\/","https:\/\/x.com\/kinsta_se","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/se\/#\/schema\/person\/9d2eef02950231307b3e89cc7c932036","name":"Shaumik Daityari","image":{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/kinsta.com\/se\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/feb5b18a7ac559ec6c8e8afcf96418ac?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/feb5b18a7ac559ec6c8e8afcf96418ac?s=96&d=mm&r=g","caption":"Shaumik Daityari"},"description":"Shaumik is a data analyst by day, and a comic book enthusiast by night (or maybe, he's Batman?) Shaumik has been writing tutorials and creating screencasts for over five years. When not working, he's busy automating mundane daily tasks through meticulously written scripts!","url":"https:\/\/kinsta.com\/se\/blog\/author\/shaumikdaityari\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/se\/wp-json\/wp\/v2\/posts\/38875","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/se\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/se\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/se\/wp-json\/wp\/v2\/users\/118"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/se\/wp-json\/wp\/v2\/comments?post=38875"}],"version-history":[{"count":7,"href":"https:\/\/kinsta.com\/se\/wp-json\/wp\/v2\/posts\/38875\/revisions"}],"predecessor-version":[{"id":38942,"href":"https:\/\/kinsta.com\/se\/wp-json\/wp\/v2\/posts\/38875\/revisions\/38942"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/38875\/translations\/en"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/38875\/translations\/pt"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/38875\/translations\/es"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/38875\/translations\/fr"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/38875\/translations\/it"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/38875\/translations\/de"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/38875\/translations\/nl"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/38875\/translations\/jp"},{"embeddable":true,"hreflang":"da","title":"Danish","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/38875\/translations\/dk"},{"embeddable":true,"hreflang":"sv","title":"Swedish","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/38875\/translations\/se"},{"href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/38875\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/se\/wp-json\/wp\/v2\/media\/38879"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/se\/wp-json\/wp\/v2\/media?parent=38875"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/se\/wp-json\/wp\/v2\/tags?post=38875"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/se\/wp-json\/wp\/v2\/topic?post=38875"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}