{"id":229856,"date":"2022-11-26T11:07:00","date_gmt":"2022-11-26T08:07:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229856"},"modified":"2022-11-09T16:40:56","modified_gmt":"2022-11-09T13:40:56","slug":"hanterar-gracioest-php-versionsstoed-i-wordpress","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/sv\/hanterar-gracioest-php-versionsstoed-i-wordpress\/","title":{"rendered":"Hanterar graci\u00f6st PHP-versionsst\u00f6d i WordPress"},"content":{"rendered":"\n<p>S\u00e5 l\u00e4nge jag har arbetat med WordPress har samtalet (och jag anv\u00e4nder den h\u00e4r termen l\u00f6st) kring vilka versioner av PHP som det borde eller inte borde st\u00f6dja p\u00e5g\u00e5tt.<\/p>\n<ul>\n<li>Det korta med det \u00e4r att vissa ser det som ett s\u00e5 stort och popul\u00e4rt program som WordPress som driver s\u00e5 mycket av de CMS-baserade webbplatserna borde kunna anv\u00e4nda sin inflytande f\u00f6r att fr\u00e4mja mer innovativa l\u00f6sningar.<\/li>\n<li>Andra ser att folk inte ofta uppgraderar, \u00e4r p\u00e5 budgetv\u00e4rdar eller helt enkelt inte bryr sig (l\u00e5t mindre bry sig om att veta) vilken version av PHP de k\u00f6r.<\/li>\n<\/ul>\n<p>Dessa tv\u00e5 punkter skulle kunna ge ett inl\u00e4gg och kommentarer i dagar, men jag \u00e4r inte intresserad av det. Eftersom <strong><a href=\"https:\/\/pressware.co\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">mitt team och jag<\/a><\/strong> sysslar med att bygga anpassade l\u00f6sningar f\u00f6r andra, har vi flexibiliteten att inventera var anv\u00e4ndarna \u00e4r v\u00e4rd f\u00f6r sin webbplats eller applikation, distribuera den och utnyttja funktionerna i PHP som erbjuds av deras v\u00e4rdar.<\/p>\n<p>Det finns dock tillf\u00e4llen d\u00e5 jag har st\u00f6tt p\u00e5 en del personer som k\u00f6r versioner av PHP s\u00e5 l\u00e5ga som 5.3.<\/p>\n<p>S\u00e5 vad d\u00e5?<\/p>\n<p>F\u00f6rst n\u00e4mner <strong><a href=\"https:\/\/wordpress.org\/about\/requirements\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WordPress kravsidan<\/a><\/strong> specifikt detta:<\/p>\n<blockquote>\n<p>Om du befinner dig i en \u00e4ldre milj\u00f6 d\u00e4r du bara har \u00e4ldre PHP- eller MySQL-versioner, fungerar WordPress \u00e4ven med PHP 5.2.4+ och MySQL 5.0+, men dessa versioner har n\u00e5tt officiellt End Of Life.<\/p>\n<\/blockquote>\n<p>S\u00e5, f\u00f6r att vara tydlig, det k\u00f6rs p\u00e5 \u00e4ldre versioner av PHP, men som utvecklare kommer vi att vara kraftigt begr\u00e4nsade av vad vi kan g\u00f6ra med spr\u00e5ket. Och, som sidan n\u00e4mner, b\u00f6r s\u00e4kerhetskonsekvenserna och &quot;slutet p\u00e5 livet&quot;-st\u00f6det f\u00f6r versionen av spr\u00e5ket inte ignoreras.<\/p>\n<p>N\u00e4r jag arbetar med ett plugin eller n\u00e5got som kommer att k\u00f6ras p\u00e5 WordPress och jag vet att det kommer att beh\u00f6va k\u00f6ras p\u00e5 en m\u00e4ngd olika v\u00e4rdar, ger jag ett absolut minimum av support. Detta vanligtvis PHP 5.6.20.<\/p>\n<p>Om milj\u00f6n som projektet kommer att k\u00f6ras i inte st\u00f6djer det, s\u00e5 kommer jag att meddela detta och f\u00f6rhindra att projektet k\u00f6rs. I samband med ett plugin \u00e4r det troligtvis b\u00e4st att ansluta till register_activation_hook-funktionen.<\/p>\n<p>F\u00f6r att g\u00f6ra det kan du skriva n\u00e5got <strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/eab44952ef0add72eafab04332f9ef34#file-00-php-version-support-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">s\u00e5 h\u00e4r:<\/a><\/strong><\/p>\n<pre><code>&lt;?php\n\nregister_activation_hook(__FILE__, __NAMESPACE__. 'acme_activate');\n\/**\n * Verifies that the user is running the proper version of WordPress for the\n * plugin to execute; otherwise, displays an error message and prevents the\n * plugin from being activated.\n *\/\nfunction acme_activate()\n{\n    if (version_compare(PHP_VERSION, '5.6.20', '&lt;')) {\n        wp_die(\n            sprintf(\n                'Acme requires PHP 5.6.20 or higher.\n                Your WordPress site is using PHP %s. Please contact your hosting\n                provider and ask that they upgrade the version of PHP on which\n                your installation of WordPress is running. Click back in your\n                browser to your WordPress dashboard.',\n                PHP_VERSION) );\n    }\n}<\/code><\/pre>\n<p>Visst, det \u00e4r enkelt, och sk\u00e4rmen anv\u00e4nder standard wp_die-styling, men det fungerar ocks\u00e5. Om du har mer erfarenhet eller tid, \u00e4r det ocks\u00e5 m\u00f6jligt att k\u00f6ra kontrollerna lite annorlunda och ge din egen styling.<\/p>\n<p>Syftet med det h\u00e4r inl\u00e4gget \u00e4r inte hur man g\u00f6r det. Ist\u00e4llet \u00e4r punkterna:<\/p>\n<ul>\n<li>best\u00e4mma vilken version av PHP du kommer att st\u00f6dja,<\/li>\n<li>j\u00e4mf\u00f6r versionen av PHP som k\u00f6rs p\u00e5 servern,<\/li>\n<li>rendera ett meddelande om versionen av PHP p\u00e5 servern \u00e4r l\u00e4gre \u00e4n vad du kommer att st\u00f6dja,<\/li>\n<li>graci\u00f6st g\u00e5 ut.<\/li>\n<\/ul>\n<p>Hur du slutar rendera detta \u00e4r upp till dig, men k\u00e4rnan i koden ovan borde r\u00e4cka f\u00f6r att du ska komma ig\u00e5ng.<\/p>\n<h3>Ytterligare anm\u00e4rkningar<\/h3>\n<ul>\n<li><strong><a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/wp_die\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wp_the<\/a><\/strong><\/li>\n<li><a href=\"https:\/\/php.net\/manual\/en\/function.version-compare.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">version_compare<\/a><\/li>\n<li><strong><a href=\"https:\/\/php.net\/manual\/en\/reserved.constants.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP_VERSION<\/a><\/strong><\/li>\n<li><strong><a href=\"https:\/\/php.net\/manual\/en\/function.sprintf.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">sprintf<\/a><\/strong><\/li>\n<\/ul>\n<p>Och om du verkligen vill g\u00f6ra en djupdykning om hantering av str\u00e4ngar i PHP, rekommenderar jag <strong><a href=\"https:\/\/twitter.com\/twigpress\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Carls<\/a><\/strong> inl\u00e4gg om <strong><a href=\"https:\/\/carlalexander.ca\/php-string-formatting\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">hantering av str\u00e4ngar i PHP<\/a><\/strong>.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Supportversioner av PHP i WordPress kan variera beroende p\u00e5 projekt. H\u00e4r \u00e4r ett s\u00e4tt att hantera det i ett plugin.<\/p>\n","protected":false},"author":1,"featured_media":164297,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[848,922,807,724,868],"tags":[1173],"class_list":["post-229856","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-handledningar","category-oevrig","category-php-9","category-utvecklaren","category-wordpress-9","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/229856","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/comments?post=229856"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/229856\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media\/164297"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media?parent=229856"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/categories?post=229856"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/tags?post=229856"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}