{"id":10569,"date":"2017-08-18T17:29:30","date_gmt":"2017-08-18T11:59:30","guid":{"rendered":"https:\/\/www.carmatec.com\/?p=10569"},"modified":"2022-09-28T05:37:44","modified_gmt":"2022-09-28T05:37:44","slug":"forbereda-webbplatsuppgradering-php-7","status":"publish","type":"post","link":"https:\/\/www.carmatec.com\/sv\/blog\/prepare-website-upgrading-php-7\/","title":{"rendered":"Hur f\u00f6rbereder du din webbplats innan du uppgraderar till PHP 7?"},"content":{"rendered":"<p>PHP 7-versionen \u00e4r huvudsakligen inriktad p\u00e5 att ta bort funktionalitet som f\u00f6r\u00e5ldrats i dess tidigare versioner och att f\u00f6rb\u00e4ttra konsistensen i spr\u00e5ket.<\/p>\n<p><strong>Vid tidpunkten f\u00f6r en ny version:<\/strong><\/p>\n<ul style=\"font-weight: normal;\">\n<li>vissa till\u00e4gg kan tas bort<\/li>\n<li>vissa till\u00e4gg eller funktioner kan fasas ut<\/li>\n<li>vissa andra funktioner kan \u00e4ndras<\/li>\n<\/ul>\n<p>Termen &quot;Utfasning&quot; h\u00e4r inneb\u00e4r att programmerarna erbjuds ett b\u00e4ttre alternativ till en viss till\u00e4gg eller funktion s\u00e5 att anv\u00e4ndningen avskr\u00e4cks och i framtida utg\u00e5vor kan denna funktion eller till\u00e4gg tas bort helt.<br \/>\nDetta kr\u00e4ver anv\u00e4ndning av migreringsdokumentet vid tidpunkten f\u00f6r <a href=\"https:\/\/www.carmatec.com\/sv\/lara-sig-teknik\/forbereda-webbplatsuppgradering-php-7\/\">uppgradering till en nyare version<\/a>. Detta dokument kan omfatta f\u00f6ljande:<\/p>\n<ul style=\"font-weight: normal;\">\n<li>Nya funktioner och funktioner<\/li>\n<li>F\u00f6r\u00e5ldrade egenskaper och funktioner<\/li>\n<li>\u00c4ndrade egenskaper och funktioner<\/li>\n<li>Bak\u00e5t inkompatibla \u00e4ndringar<\/li>\n<li>Nya globala konstanter<\/li>\n<li>Nya klasser och gr\u00e4nssnitt<\/li>\n<li>\u00c4ndringar i SAPI-moduler<\/li>\n<li>Ta bort till\u00e4gg och SAPI<\/li>\n<li>Andra \u00e4ndringar<\/li>\n<\/ul>\n<p>H\u00e4r \u00e4r stegen som vi kan f\u00f6lja n\u00e4r vi uppgraderar till PHP 7 fr\u00e5n dess \u00e4ldre version:<br \/>\nDet f\u00f6rsta som beh\u00f6ver g\u00f6ras \u00e4r att eliminera se av de borttagna f\u00f6rl\u00e4ngningarna. De <a href=\"https:\/\/www.carmatec.com\/sv\/lara-sig-teknik\/overvag-att-migrera-php-5-till-php-7-2017\/\">PHP-migrering<\/a> document kan erbjuda en hel del alternativ f\u00f6r dessa borttagna till\u00e4gg.<\/p>\n<p><strong>N\u00e4r PHP 7 introducerades, \u00e4r f\u00f6ljande till\u00e4gg som har tagits bort:<\/strong><\/p>\n<ol style=\"font-weight: normal;\">\n<li>mssql<\/li>\n<li>mysql<\/li>\n<li>ereg<\/li>\n<li>sybase_ct<\/li>\n<\/ol>\n<p>F\u00f6r det andra, fr\u00e5n migreringsdokumentet har vi den information som kr\u00e4vs d\u00e4r alla funktioner har \u00e4ndrats. I samband med att en ny version introduceras kan vissa \u00e4ndringar ocks\u00e5 inf\u00f6ras, s\u00e5som:<\/p>\n<ul style=\"font-weight: normal;\">\n<li>\u00e4ndra returtypen<\/li>\n<li>borttagning av n\u00e5gra av parametrarna<\/li>\n<\/ul>\n<p>S\u00e5 vi m\u00e5ste kontrollera om n\u00e5gon av dessa \u00e4ndrade funktioner anv\u00e4nds p\u00e5 v\u00e5r PHP-webbplats, vi m\u00e5ste h\u00e4nvisa till migreringsdokumentet f\u00f6r dessa och g\u00f6ra de n\u00f6dv\u00e4ndiga \u00e4ndringarna d\u00e4refter.<\/p>\n<p><strong>I fallet med PHP 7 \u00e4r n\u00e5gra av de \u00e4ndrade funktionerna som f\u00f6ljer:<\/strong><\/p>\n<ul style=\"font-weight: normal;\">\n<li>Funktionerna mktime() och gmmktime() accepterar inte parametern is_dst l\u00e4ngre.<\/li>\n<li>Funktionerna substr() och iconv_substr() returnerar en tom str\u00e4ng nu, d\u00e4r str\u00e4ng motsvarar l\u00e5nga starttecken<\/li>\n<\/ul>\n<p>Det tredje som m\u00e5ste g\u00f6ras \u00e4r ett f\u00f6rs\u00f6k att eliminera anv\u00e4ndningen av f\u00f6r\u00e5ldrade funktioner och till\u00e4gg eftersom dessa s\u00e5 sm\u00e5ningom kommer att tas bort i framtida utg\u00e5vor.<\/p>\n<p><strong>I fallet med PHP 7, h\u00e4r \u00e4r n\u00e5gra av funktionerna som \u00e4r f\u00f6r\u00e5ldrade:<\/strong><\/p>\n<ol style=\"font-weight: normal;\">\n<li>PHP 4-stilkonstrukt\u00f6rer \u2013 F\u00f6r att skapa konstrukt\u00f6rer anv\u00e4nde PHP 4 samma metoder som klassen de definierades i, vilket \u00e4r en f\u00f6r\u00e5ldrad funktion och kommer att tas bort i framtiden. S\u00e5 dessa metodnamn m\u00e5ste nu ers\u00e4ttas av __construct()<\/li>\n<li>De statiska anropen till icke-statiska metoder har ocks\u00e5 fasats ut och kommer att tas bort i framtida utg\u00e5vor<\/li>\n<li>Saltalternativet f\u00f6r funktionen password_hash() har f\u00f6r\u00e5ldrats eftersom funktionen kan generera ett kryptografiskt s\u00e4kert salt om utvecklaren inte tillhandah\u00e5ller saltet.<\/li>\n<\/ol>\n<p>N\u00e4sta dvs det fj\u00e4rde som beh\u00f6ver g\u00f6ras \u00e4r behandlingen av de bak\u00e5tkompatibla f\u00f6r\u00e4ndringarna. Vid tidpunkten f\u00f6r introduktionen av den nya versionen m\u00e5ste migreringsdokumentet h\u00e4nvisas till f\u00f6r &quot;bak\u00e5t inkompatibla \u00e4ndringar&quot;.<\/p>\n<p><strong>H\u00e4r \u00e4r n\u00e5gra av de bak\u00e5tinkompatibla \u00e4ndringarna:<\/strong><\/p>\n<ul style=\"font-weight: normal;\">\n<li>foreach \u00e4ndrar inte den interna arraypekaren l\u00e4ngre<\/li>\n<li>global accepterar nu endast enkla variabler<\/li>\n<li>Variablerna kan inte l\u00e4ngre anv\u00e4ndas med det globala nyckelordet.<\/li>\n<li>Hexadecimala str\u00e4ngar anses inte l\u00e4ngre vara numeriska<br \/>\nTill exempel:<br \/>\n&lt;?php<br \/>\nvar_dump(is_numeric(\u201c0x123\u201d));<br \/>\n?&gt; Utdata fr\u00e5n exemplet ovan i PHP 7 \u00e4r:bool(false)<\/li>\n<li>\u00c4ndringar till Division By Zero<br \/>\nTidigare, n\u00e4r 0 anv\u00e4ndes som divisor f\u00f6r antingen divide(\/)- eller modulus(%)-operatorerna, och E_WARNING skulle s\u00e4ndas ut och falskt skulle returneras. Det har nu \u00e4ndrats till att divideringsoperatorn returnerar en float som antingen +INF, -INF eller NAN. Moduloperatorn E_WARNING har tagits bort och kommer att skapa ett DivisionByZeroError-undantag.<\/li>\n<\/ul>\n<p>Vi som en av de ledande <a href=\"https:\/\/www.carmatec.com\/sv\/php-utvecklingsforetag\/\" target=\"_blank\" rel=\"noopener noreferrer\">PHP utvecklingsf\u00f6retag<\/a> har \u00f6ver ett decenniums erfarenhet av att utf\u00f6ra PHP-webbutvecklingsprojekt f\u00f6r sin globala kundkrets som verkar i olika branscher. Vi anv\u00e4nder de mest avancerade verktygen och teknikerna f\u00f6r att komma fram till de mest effektiva l\u00f6sningarna f\u00f6r dina aff\u00e4rsproblem eller s\u00e5 kan du kolla in v\u00e5r &#039;<a href=\"https:\/\/www.carmatec.com\/sv\/anstalla-utvecklare\/anlita-php-utvecklare\/\" target=\"_blank\" rel=\"noopener noreferrer\">Anlita PHP-utvecklare<\/a>&#039; tj\u00e4nst d\u00e4r du kan utv\u00e4rdera v\u00e5ra utvecklares tekniska f\u00e4rdigheter, inst\u00e4llning till ditt projekt och deras tidigare arbete f\u00f6r att v\u00e4lja fr\u00e5n branschens mest erfarna talangpool.<\/p>","protected":false},"excerpt":{"rendered":"<p>The PHP 7 release is mainly focused on removing functionality deprecated in its previous versions and, enhancing the consistency in the language. At the time of any new version release: some extensions can get removed some extensions or functionalities can get deprecated some other functionalities can get altered The term \u2018Deprecation\u2019 here, implies that the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":29477,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,19],"tags":[],"class_list":["post-10569","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-php-development"],"_links":{"self":[{"href":"https:\/\/www.carmatec.com\/sv\/wp-json\/wp\/v2\/posts\/10569","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.carmatec.com\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.carmatec.com\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.carmatec.com\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.carmatec.com\/sv\/wp-json\/wp\/v2\/comments?post=10569"}],"version-history":[{"count":0,"href":"https:\/\/www.carmatec.com\/sv\/wp-json\/wp\/v2\/posts\/10569\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.carmatec.com\/sv\/wp-json\/wp\/v2\/media\/29477"}],"wp:attachment":[{"href":"https:\/\/www.carmatec.com\/sv\/wp-json\/wp\/v2\/media?parent=10569"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.carmatec.com\/sv\/wp-json\/wp\/v2\/categories?post=10569"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.carmatec.com\/sv\/wp-json\/wp\/v2\/tags?post=10569"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}