{"id":8723,"date":"2023-02-10T19:18:11","date_gmt":"2023-02-10T19:18:11","guid":{"rendered":"https:\/\/www.fastcomet.com\/blog\/?p=8723"},"modified":"2023-02-10T19:49:44","modified_gmt":"2023-02-10T19:49:44","slug":"php-8-2-available","status":"publish","type":"post","link":"https:\/\/www.fastcomet.com\/blog\/php-8-2-available","title":{"rendered":"PHP 8.2 Available to All FastComet Customers"},"content":{"rendered":"\n<p class=\"has-drop-cap\">PHP 8.2, released for general availability on December 8, 2022, is now fully available for all FastComet clients. We conducted extensive testing and monitoring to ensure that the PHP 8.2 integration with cPanel and our infrastructure worked flawlessly. We can confidently state that the new PHP version, which provides stability and optimal performance for your PHP applications, is safe to deploy.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>The new version of the programming language includes several exciting new features. New <code>readonly<\/code> classes; allow <code>true<\/code>, <code>false<\/code>, and <code>null<\/code> as standalone types; new ways to fetch <code>enums<\/code>; and many more are among them.<\/p>\n\n\n\n<p>This article will cover most of what&#8217;s new, changed, and deprecated in PHP 8.2, from new features and performance improvements to major changes and deprecations.<\/p>\n\n\n<div class=\"wp-block-ub-table-of-contents-block ub_table-of-contents\" id=\"ub_table-of-contents-34c3a3fe-6834-44aa-a80a-a7fe484f80e3\" data-linktodivider=\"false\" data-showtext=\"show\" data-hidetext=\"hide\" data-scrolltype=\"auto\" data-enablesmoothscroll=\"false\" data-initiallyhideonmobile=\"false\" data-initiallyshow=\"true\"><div class=\"ub_table-of-contents-header-container\" style=\"\">\n\t\t\t<div class=\"ub_table-of-contents-header\" style=\"text-align: left; \">\n\t\t\t\t<div class=\"ub_table-of-contents-title\"><strong>Table of Contents:<\/strong><\/div>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t<\/div><div class=\"ub_table-of-contents-extra-container\" style=\"\">\n\t\t\t<div class=\"ub_table-of-contents-container ub_table-of-contents-1-column \">\n\t\t\t\t<ul style=\"\"><li style=\"\"><a href=\"https:\/\/www.fastcomet.com\/blog\/php-8-2-available#0-php-82-for-all-fastcomet-users\" style=\"\">PHP 8.2 for all FastComet Users<\/a><\/li><li style=\"\"><a href=\"https:\/\/www.fastcomet.com\/blog\/php-8-2-available#1-new-features-and-improvements-in-php-82\" style=\"\">New Features and Improvements in PHP 8.2<\/a><ul><li style=\"\"><a href=\"https:\/\/www.fastcomet.com\/blog\/php-8-2-available#2-new-readonly-classes\" style=\"\">New readonly Classes<\/a><\/li><li style=\"\"><a href=\"https:\/\/www.fastcomet.com\/blog\/php-8-2-available#3-allow-true-false-and-null-as-standalone-types\" style=\"\">Allow true, false, and null as Standalone Types<\/a><\/li><li style=\"\"><a href=\"https:\/\/www.fastcomet.com\/blog\/php-8-2-available#4-fetch-enum-properties-in-const-expressions\" style=\"\">Fetch enum Properties in const Expressions<\/a><\/li><li style=\"\"><a href=\"https:\/\/www.fastcomet.com\/blog\/php-8-2-available#5-disjunctive-normal-form-dnf-types\" style=\"\">Disjunctive Normal Form (DNF) Types<\/a><\/li><li style=\"\"><a href=\"https:\/\/www.fastcomet.com\/blog\/php-8-2-available#6-allow-constants-in-traits\" style=\"\">Allow Constants in Traits<\/a><\/li><\/ul><\/li><li style=\"\"><a href=\"https:\/\/www.fastcomet.com\/blog\/php-8-2-available#7-deprecations-in-php-82\" style=\"\">Deprecations in PHP 8.2<\/a><\/li><li style=\"\"><a href=\"https:\/\/www.fastcomet.com\/blog\/php-8-2-available#8-minor-changes-in-php-82\" style=\"\">Minor Changes in PHP 8.2<\/a><\/li><li style=\"\"><a href=\"https:\/\/www.fastcomet.com\/blog\/php-8-2-available#9-additional-rfcs-in-php-82\" style=\"\">Additional RFCs in PHP 8.2<\/a><\/li><li style=\"\"><a href=\"https:\/\/www.fastcomet.com\/blog\/php-8-2-available#10-how-to-upgrade-to-php-82\" style=\"\">How to Upgrade to PHP 8.2<\/a><\/li><li style=\"\"><a href=\"https:\/\/www.fastcomet.com\/blog\/php-8-2-available#11-summary\" style=\"\">Summary<\/a><\/li><\/ul>\n\t\t\t<\/div>\n\t\t<\/div><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"0-php-82-for-all-fastcomet-users\">PHP 8.2 for all FastComet Users<\/h2>\n\n\n\n<p>PHP 8.2 is now available on all FastComet shared servers, and all clients can use the <a href=\"https:\/\/www.fastcomet.com\/tutorials\/cpanel\/php-version#how-to-check-your-php-info\" target=\"_blank\" rel=\"noreferrer noopener\">FastComet PHP Selector<\/a> to select it quickly. This is the fastest PHP version yet, so we recommend upgrading if your site is fully compatible. Keep in mind, however, that some plugins may not be compatible with the new version. Remember to thoroughly test your website after upgrading to a new PHP version.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"1-new-features-and-improvements-in-php-82\">New Features and Improvements in PHP 8.2<\/h2>\n\n\n\n<p>Let&#8217;s start by going over all of the new PHP 8.2 features. It&#8217;s quite a lengthy list:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"2-new-readonly-classes\">New <code>readonly<\/code> Classes<\/h3>\n\n\n\n<p>The <code>readonly<\/code> feature for class properties was introduced in <a href=\"https:\/\/www.fastcomet.com\/blog\/php-8-1-available\" target=\"_blank\" rel=\"noreferrer noopener\">PHP 8.1<\/a>. PHP 8.2 now includes the ability to declare the entire class as <code>readonly<\/code>.<\/p>\n\n\n\n<p>When you declare a class as <code>readonly<\/code>, the <code>readonly<\/code> feature is automatically inherited by all of its properties. Declaring a class <code>readonly<\/code> is equivalent to declaring all class properties <code>readonly<\/code>.<\/p>\n\n\n\n<p>In PHP 8.1, you had to declare each property as read-only:<\/p>\n\n\n\n<pre>class WorkClassOne<br>{<br>public readonly string $ValueA,<br>public readonly int $ValueB<br>}<\/pre>\n\n\n\n<p>With PHP 8.2, you can simply write:<\/p>\n\n\n\n<pre>readonly class WorkClassOne<br>{<br>public string $ValueA,<br>public int $ValueB<br>}<\/pre>\n\n\n\n<p>You can now mark abstract or final classes as <code>readonly<\/code>. The order of the keywords is irrelevant here.<\/p>\n\n\n\n<pre>abstract readonly class Work {}<br>final readonly class Home {}<\/pre>\n\n\n\n<p>A <code>readonly<\/code> class with no properties can also be declared. This prevents dynamic properties while allowing child classes to declare their readonly properties explicitly.<\/p>\n\n\n\n<p>Subsequently, classes marked as <code>readonly<\/code> can only possess properties with specified types and the same restriction applies when declaring individual properties as <code>readonly<\/code>. If it is not possible to declare a property with a specific type, then the mixed type property can be utilized.<\/p>\n\n\n\n<p>Declaring a <code>readonly <\/code>class without a typed property will result in a Fatal error:<\/p>\n\n\n\n<pre>readonly class Work{<br>public $task;<br>}<br>Fatal error: Readonly property Work::$task must have type in \u2026 on line \u2026<\/pre>\n\n\n\n<p>Also, you cannot declare the following PHP features as <code>readonly<\/code>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Enums;<\/li>\n\n\n\n<li>Traits;<\/li>\n\n\n\n<li>Interfaces.<\/li>\n<\/ul>\n\n\n\n<p>Declaring these features as <code>readonly<\/code> will result in a Parse error.<\/p>\n\n\n\n<pre>readonly trait LoginMessage {}\n\nParse error: syntax error, unexpected token \"trait,\" expecting \"abstract\" or \"final\" or \"readonly\" or \"class\" in ... on line \u2026<\/pre>\n\n\n\n<p>Considering the behavior of PHP keywords, the <code>readonly<\/code> keyword is case insensitive.<\/p>\n\n\n\n<p>Another thing to consider is that while dynamic properties are deprecated in this version of PHP, they can still be added to a class. Still if you do it for a <code>readonly<\/code> class that will result in a Fatal Error:<\/p>\n\n\n\n<pre>Fatal error: Readonly property Work::$task must have type in ... on line ...<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"3-allow-true-false-and-null-as-standalone-types\">Allow <code>true<\/code>, <code>false<\/code>, and <code>null<\/code> as Standalone Types<\/h3>\n\n\n\n<p>Scalar types such as <code>int<\/code>, <code>string<\/code>, and <code>bool<\/code> are already available in PHP. That was expanded upon in <a href=\"https:\/\/www.fastcomet.com\/blog\/php-8-0-available\" target=\"_blank\" rel=\"noreferrer noopener\">PHP 8.0<\/a> with the addition of union types, allowing for different value types. The exact request also permitted the use of false and null as part of a union type but not as standalone types.<\/p>\n\n\n\n<p>A fatal error occurred if you attempted to declare false or null or as standalone types without them being part of a union type.<\/p>\n\n\n\n<p>PHP 8.2 supports the standalone types false and null to avoid this scenario. PHP&#8217;s type system is now more expressive and complete due to this addition. You can now precisely declare the return, parameter, and property types.<\/p>\n\n\n\n<p>Also, up to PHP 8.1, the programming language still lacks a true type, which is a natural counterpart to the false type.&nbsp;<\/p>\n\n\n\n<p>PHP 8.2 corrects this and <a href=\"https:\/\/wiki.php.net\/rfc\/true-type\" target=\"_blank\" rel=\"noreferrer noopener\">adds support for the true type<\/a>. It does not allow coercion, just as the false type does.<\/p>\n\n\n\n<p>The true and false types both belong to PHP&#8217;s bool type. To eliminate duplication, it is not possible to have all three types declared together in a union type. This will cause a compile-time fatal error.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"4-fetch-enum-properties-in-const-expressions\">Fetch <code>enum<\/code> Properties in <code>const<\/code> Expressions<\/h3>\n\n\n\n<p>This <a href=\"https:\/\/wiki.php.net\/rfc\/fetch_property_in_const_expressions\" target=\"_blank\" rel=\"noreferrer noopener\">RFC proposes<\/a> the adoption of the ->\/?-> operator for accessing enum properties in constant expressions. The purpose of this addition is to eliminate the need for duplicating enum values in cases where enum objects cannot be used, such as in array keys.By enabling the retrieval of enum properties in these restricted areas, code can be made more straightforward.<\/p>\n\n\n\n<p>In addition, there is included support for the null-safe operator ?-&gt;.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"5-disjunctive-normal-form-dnf-types\">Disjunctive Normal Form (DNF) Types<\/h3>\n\n\n\n<p>The Disjunctive Normal Form (DNF) standardizes the organization of boolean expressions. It is made up of a disjunction of conjunctions \u2014 an OR of ANDs in boolean terms.<\/p>\n\n\n\n<p>The use of DNF in type declarations provides a consistent way to write combined Union and Intersection types that the parser can handle. The <a href=\"https:\/\/wiki.php.net\/rfc\/dnf_types\" target=\"_blank\" rel=\"noreferrer noopener\">new DNF types<\/a> feature in PHP 8.2 is simple but powerful when used correctly.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"6-allow-constants-in-traits\">Allow Constants in Traits<\/h3>\n\n\n\n<p>PHP includes a feature called Traits that allows you to reuse code. They&#8217;re great for reusing code across classes.<\/p>\n\n\n\n<p>Currently, only methods and properties can be defined using traits; constants are not supported. In other words, a trait&#8217;s expected invariants cannot be defined by the trait itself. To get around this restriction, you must define constants in its composing class or an interface that its composing class implements.<\/p>\n\n\n\n<p><a href=\"https:\/\/wiki.php.net\/rfc\/constants_in_traits\" target=\"_blank\" rel=\"noreferrer noopener\">This RFC proposes<\/a> allowing Traits to define constants. These constants can be defined in the same way that class constants are. This example, taken directly from the RFC, clarifies its application:<\/p>\n\n\n\n<pre>trait Foo<br>{<br>&nbsp; &nbsp; public const CONSTANT = 1;<br>}<br><br>class Bar<br>{<br>&nbsp; &nbsp; use Foo;<br>}<br><br>var_dump(Bar::CONSTANT); \/\/ 1<br>var_dump(Foo::CONSTANT); \/\/ Error<\/pre>\n\n\n\n<p>Trait constants, like Trait property and method definitions, are merged into the composing class&#8217;s definition. They are also bound by the same rules as trait properties. According to the RFC, while this proposal is a good starting point, more work is needed to flesh out the feature.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"7-deprecations-in-php-82\">Deprecations in PHP 8.2<\/h2>\n\n\n\n<p>We can now proceed to the deprecations in PHP 8.2. To be quick, we will provide source links for them:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/php.watch\/versions\/8.2\/dynamic-properties-deprecated\" target=\"_blank\" rel=\"noreferrer noopener\">Dynamic properties<\/a>;<\/li>\n\n\n\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/deprecate_partially_supported_callables\" target=\"_blank\" rel=\"noreferrer noopener\">Partially supported callables<\/a>;<\/li>\n\n\n\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/remove_utf8_decode_and_utf8_encode\" target=\"_blank\" rel=\"noreferrer noopener\">Both #utf8_encode() and utf8_decode() functions<\/a>;<\/li>\n\n\n\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/deprecate_dollar_brace_string_interpolation\" target=\"_blank\" rel=\"noreferrer noopener\">The last two ways of string interpolation<\/a>;<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/php\/php-src\/commit\/9308974f8cc6c1046f228be5320fe067913ba987\" target=\"_blank\" rel=\"noreferrer noopener\">The use of mbstring for these encodings<\/a>.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"8-minor-changes-in-php-82\">Minor Changes in PHP 8.2<\/h2>\n\n\n\n<p>Just like with the deprecations, here are some source links with the minor changes in PHP 8.2:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/mysqli_support_for_libmysql\" target=\"_blank\" rel=\"noreferrer noopener\">Remove Support for libmysql from mysqli<\/a>;<\/li>\n\n\n\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/strtolower-ascii\" target=\"_blank\" rel=\"noreferrer noopener\">Locale-Independent Case Conversion<\/a>;<\/li>\n\n\n\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/rng_extension\" target=\"_blank\" rel=\"noreferrer noopener\">Random Extension Improvement<\/a>.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"9-additional-rfcs-in-php-82\">Additional RFCs in PHP 8.2<\/h2>\n\n\n\n<p>Now with the list of additional RFCs in PHP 8.2:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/github.com\/php\/php-src\/pull\/8720\" target=\"_blank\" rel=\"noreferrer noopener\">New curl_upkeep function<\/a>;<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><a href=\"https:\/\/php.watch\/versions\/8.2\/ini_parse_quantity\" target=\"_blank\" rel=\"noreferrer noopener\">New ini_parse_quantity function<\/a>;<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/php\/php-src\/pull\/8151\/files\" target=\"_blank\" rel=\"noreferrer noopener\">New memory_reset_peak_usage function<\/a>;<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/php\/php-src\/pull\/7583\" target=\"_blank\" rel=\"noreferrer noopener\">Enable \/n modifier in preg_* functions<\/a>;<\/li>\n\n\n\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/iterator_xyz_accept_array\" target=\"_blank\" rel=\"noreferrer noopener\">Make the iterator_*() family accept all iterables<\/a>.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"10-how-to-upgrade-to-php-82\">How to Upgrade to PHP 8.2<\/h2>\n\n\n\n<p>With FastComet\u2019s shared hosting servers, you have the convenient option to <a href=\"https:\/\/www.fastcomet.com\/tutorials\/cpanel\/php-version\" target=\"_blank\" rel=\"noreferrer noopener\">select your PHP version<\/a> quickly and easily. All you have to do is:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Go to your <a href=\"https:\/\/my.fastcomet.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Client Area<\/a> \u2192 <strong>cPanel<\/strong> \u2192 <strong>Select PHP Version<\/strong>:<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"315\" src=\"https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2023\/02\/find-php-selector-in-cpanel-jupiter.png\" alt=\"Find PHP Selector in cPanel Jupiter\" class=\"wp-image-8724\" srcset=\"https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2023\/02\/find-php-selector-in-cpanel-jupiter.png 1024w, https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2023\/02\/find-php-selector-in-cpanel-jupiter-300x92.png 300w, https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2023\/02\/find-php-selector-in-cpanel-jupiter-768x236.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In the <strong>PHP Selector<\/strong>, click on the drop-down:<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"525\" src=\"https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2023\/02\/choose-php-8-2-in-cpanel.png\" alt=\"Choose PHP 8.2 in the PHP Selector\" class=\"wp-image-8725\" srcset=\"https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2023\/02\/choose-php-8-2-in-cpanel.png 1024w, https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2023\/02\/choose-php-8-2-in-cpanel-300x154.png 300w, https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2023\/02\/choose-php-8-2-in-cpanel-768x394.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Then, click on <strong>Apply<\/strong>:<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"417\" src=\"https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2023\/02\/set-php-8-2-as-current.png\" alt=\"Set PHP 8.2 as the Current PHP Version\" class=\"wp-image-8726\" srcset=\"https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2023\/02\/set-php-8-2-as-current.png 1024w, https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2023\/02\/set-php-8-2-as-current-300x122.png 300w, https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2023\/02\/set-php-8-2-as-current-768x313.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Done!<\/li>\n<\/ul>\n\n\n\n<p>When switching between PHP versions, make sure your project is compatible before starting the transition.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"11-summary\">Summary<\/h2>\n\n\n\n<p>PHP 8.2 builds on the significant advancements made in the last two PHP versions. The most exciting PHP 8.2 features, in our opinion, are the new <code>standalone<\/code> types and <code>readonly<\/code> properties which again optimize PHP as a language even further.<\/p>\n\n\n\n<p>Once again, there are many changes and we can\u2019t wait to see what will come with the programming language\u2019s new version.<\/p>\n\n\n\n<p>Use the comment section to share with us which PHP 8.2 changes and improvements you like the most or perhaps what you dislike. Happy Coding!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>PHP 8.2, released for general availability on December 8, 2022, is now fully available for all FastComet clients. We conducted extensive testing and monitoring to ensure that the PHP 8.2 integration with cPanel and our infrastructure worked flawlessly. We can confidently state that the new PHP version, which provides stability and optimal performance for your [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":8668,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4726],"tags":[103],"class_list":["post-8723","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-service-updates","tag-php"],"featured_image_src":"https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2022\/12\/php_8.2.png","author_info":{"display_name":"Joseph","author_link":"https:\/\/www.fastcomet.com\/blog\/author\/joseph"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>PHP 8.2 Available to All FastComet Customers | FastComet<\/title>\n<meta name=\"description\" content=\"PHP 8.2 has been deployed on all FastComet servers. Check our article for detailed information about PHP&#039;s new features and deprecations.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.fastcomet.com\/blog\/php-8-2-available\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PHP 8.2 Available to All FastComet Customers | FastComet\" \/>\n<meta property=\"og:description\" content=\"PHP 8.2 has been deployed on all FastComet servers. Check our article for detailed information about PHP&#039;s new features and deprecations.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.fastcomet.com\/blog\/php-8-2-available\" \/>\n<meta property=\"og:site_name\" content=\"FastComet Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-02-10T19:18:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-02-10T19:49:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2022\/12\/php_8.2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"620\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Joseph\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joseph\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PHP 8.2 Available to All FastComet Customers | FastComet","description":"PHP 8.2 has been deployed on all FastComet servers. Check our article for detailed information about PHP's new features and deprecations.","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:\/\/www.fastcomet.com\/blog\/php-8-2-available","og_locale":"en_US","og_type":"article","og_title":"PHP 8.2 Available to All FastComet Customers | FastComet","og_description":"PHP 8.2 has been deployed on all FastComet servers. Check our article for detailed information about PHP's new features and deprecations.","og_url":"https:\/\/www.fastcomet.com\/blog\/php-8-2-available","og_site_name":"FastComet Blog","article_published_time":"2023-02-10T19:18:11+00:00","article_modified_time":"2023-02-10T19:49:44+00:00","og_image":[{"width":1024,"height":620,"url":"https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2022\/12\/php_8.2.png","type":"image\/png"}],"author":"Joseph","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Joseph","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.fastcomet.com\/blog\/php-8-2-available","url":"https:\/\/www.fastcomet.com\/blog\/php-8-2-available","name":"PHP 8.2 Available to All FastComet Customers | FastComet","isPartOf":{"@id":"https:\/\/www.fastcomet.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.fastcomet.com\/blog\/php-8-2-available#primaryimage"},"image":{"@id":"https:\/\/www.fastcomet.com\/blog\/php-8-2-available#primaryimage"},"thumbnailUrl":"https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2022\/12\/php_8.2.png","datePublished":"2023-02-10T19:18:11+00:00","dateModified":"2023-02-10T19:49:44+00:00","author":{"@id":"https:\/\/www.fastcomet.com\/blog\/#\/schema\/person\/4f2c9600f49c872b8d56996ee3b95035"},"description":"PHP 8.2 has been deployed on all FastComet servers. Check our article for detailed information about PHP's new features and deprecations.","breadcrumb":{"@id":"https:\/\/www.fastcomet.com\/blog\/php-8-2-available#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.fastcomet.com\/blog\/php-8-2-available"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fastcomet.com\/blog\/php-8-2-available#primaryimage","url":"https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2022\/12\/php_8.2.png","contentUrl":"https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2022\/12\/php_8.2.png","width":1024,"height":620},{"@type":"BreadcrumbList","@id":"https:\/\/www.fastcomet.com\/blog\/php-8-2-available#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.fastcomet.com\/blog"},{"@type":"ListItem","position":2,"name":"PHP 8.2 Available to All FastComet Customers"}]},{"@type":"WebSite","@id":"https:\/\/www.fastcomet.com\/blog\/#website","url":"https:\/\/www.fastcomet.com\/blog\/","name":"FastComet Blog","description":"FastComet Web Hosting Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.fastcomet.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.fastcomet.com\/blog\/#\/schema\/person\/4f2c9600f49c872b8d56996ee3b95035","name":"Joseph","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fastcomet.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1aa84dc2a6398ed73c957bd1de58806d12d44e2956744ed1ae9b435d57822ab7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1aa84dc2a6398ed73c957bd1de58806d12d44e2956744ed1ae9b435d57822ab7?s=96&d=mm&r=g","caption":"Joseph"},"description":"Joseph is part of the FastComet Marketing team. With years of content writing experience behind him, it's one of his favorite activities. Joseph takes part in the SEO of the FastComet website and blog. His goal is to write comprehensive posts and guides, always aiming to help our clients with essential information. Joseph also has a thirst for knowledge and improvement, which makes the hosting environment a perfect place for him.","sameAs":["https:\/\/www.fastcomet.com\/"],"url":"https:\/\/www.fastcomet.com\/blog\/author\/joseph"}]}},"_links":{"self":[{"href":"https:\/\/www.fastcomet.com\/blog\/wp-json\/wp\/v2\/posts\/8723","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fastcomet.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fastcomet.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fastcomet.com\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fastcomet.com\/blog\/wp-json\/wp\/v2\/comments?post=8723"}],"version-history":[{"count":6,"href":"https:\/\/www.fastcomet.com\/blog\/wp-json\/wp\/v2\/posts\/8723\/revisions"}],"predecessor-version":[{"id":9459,"href":"https:\/\/www.fastcomet.com\/blog\/wp-json\/wp\/v2\/posts\/8723\/revisions\/9459"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fastcomet.com\/blog\/wp-json\/wp\/v2\/media\/8668"}],"wp:attachment":[{"href":"https:\/\/www.fastcomet.com\/blog\/wp-json\/wp\/v2\/media?parent=8723"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fastcomet.com\/blog\/wp-json\/wp\/v2\/categories?post=8723"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fastcomet.com\/blog\/wp-json\/wp\/v2\/tags?post=8723"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}