documentation/guides/php_upgrade.html
2022-05-04 14:25:41 +00:00

70 lines
19 KiB
HTML

<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Upgrading PHP | Pterodactyl</title>
<meta name="generator" content="VuePress 1.8.2">
<link rel="apple-touch-icon" sizes="180x180" href="/favicons/apple-touch-icon.png">
<link rel="icon" type="image/png" href="/favicons/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="/favicons/favicon-16x16.png" sizes="16x16">
<link rel="mask-icon" href="/favicons/safari-pinned-tab.svg" color="#0e4688">
<link rel="manifest" href="/favicons/site.webmanifest">
<link rel="shortcut icon" href="/favicons/favicon.ico">
<meta name="description" content="Pterodactyl is an open-source game server management panel built with PHP 7, React, and Go. Designed with security in mind, Pterodactyl runs all game servers in isolated Docker containers while exposing a beautiful and intuitive UI to end users.">
<meta name="msapplication-config" content="/favicons/browserconfig.xml">
<meta name="theme-color" content="#0e4688">
<link rel="preload" href="/assets/css/0.styles.b3d0dfa6.css" as="style"><link rel="preload" href="/assets/js/app.560ab58d.js" as="script"><link rel="preload" href="/assets/js/4.babf7215.js" as="script"><link rel="preload" href="/assets/js/1.79a56ae5.js" as="script"><link rel="preload" href="/assets/js/57.6cdf7d48.js" as="script"><link rel="prefetch" href="/assets/js/10.27cec751.js"><link rel="prefetch" href="/assets/js/11.27ba30b0.js"><link rel="prefetch" href="/assets/js/12.12802391.js"><link rel="prefetch" href="/assets/js/13.bd04c4ec.js"><link rel="prefetch" href="/assets/js/14.f2be742e.js"><link rel="prefetch" href="/assets/js/15.a6802091.js"><link rel="prefetch" href="/assets/js/16.f2dea920.js"><link rel="prefetch" href="/assets/js/17.e3b378b0.js"><link rel="prefetch" href="/assets/js/18.fcb158a9.js"><link rel="prefetch" href="/assets/js/19.f0fdb6e9.js"><link rel="prefetch" href="/assets/js/2.21e1a937.js"><link rel="prefetch" href="/assets/js/20.a31cd600.js"><link rel="prefetch" href="/assets/js/21.986dab58.js"><link rel="prefetch" href="/assets/js/22.01e99816.js"><link rel="prefetch" href="/assets/js/23.ab477db3.js"><link rel="prefetch" href="/assets/js/24.3db401dc.js"><link rel="prefetch" href="/assets/js/25.fb19183c.js"><link rel="prefetch" href="/assets/js/26.199e42e5.js"><link rel="prefetch" href="/assets/js/27.53b2955f.js"><link rel="prefetch" href="/assets/js/28.b1cca863.js"><link rel="prefetch" href="/assets/js/29.c234f3e0.js"><link rel="prefetch" href="/assets/js/30.61a90133.js"><link rel="prefetch" href="/assets/js/31.6cbb938e.js"><link rel="prefetch" href="/assets/js/32.7effab83.js"><link rel="prefetch" href="/assets/js/33.5cb72a20.js"><link rel="prefetch" href="/assets/js/34.f044669f.js"><link rel="prefetch" href="/assets/js/35.92028599.js"><link rel="prefetch" href="/assets/js/36.a7402f3b.js"><link rel="prefetch" href="/assets/js/37.b81f7a4e.js"><link rel="prefetch" href="/assets/js/38.e385c788.js"><link rel="prefetch" href="/assets/js/39.5d85947d.js"><link rel="prefetch" href="/assets/js/40.6859537a.js"><link rel="prefetch" href="/assets/js/41.8357cc2d.js"><link rel="prefetch" href="/assets/js/42.ed9e1c27.js"><link rel="prefetch" href="/assets/js/43.9fd714d5.js"><link rel="prefetch" href="/assets/js/44.5250ac95.js"><link rel="prefetch" href="/assets/js/45.3ebbab0e.js"><link rel="prefetch" href="/assets/js/46.a3168226.js"><link rel="prefetch" href="/assets/js/47.7a0c0c49.js"><link rel="prefetch" href="/assets/js/48.8b4df094.js"><link rel="prefetch" href="/assets/js/49.1e699f40.js"><link rel="prefetch" href="/assets/js/5.407df260.js"><link rel="prefetch" href="/assets/js/50.fb545b0b.js"><link rel="prefetch" href="/assets/js/51.8bf819d3.js"><link rel="prefetch" href="/assets/js/52.c0fa38e2.js"><link rel="prefetch" href="/assets/js/53.acaa8c4b.js"><link rel="prefetch" href="/assets/js/54.01f718b6.js"><link rel="prefetch" href="/assets/js/55.0c83194a.js"><link rel="prefetch" href="/assets/js/56.488f03fe.js"><link rel="prefetch" href="/assets/js/58.139108d1.js"><link rel="prefetch" href="/assets/js/59.2de63e9e.js"><link rel="prefetch" href="/assets/js/6.8999fd8a.js"><link rel="prefetch" href="/assets/js/60.a35a1994.js"><link rel="prefetch" href="/assets/js/61.c644eb6e.js"><link rel="prefetch" href="/assets/js/62.6d624b0b.js"><link rel="prefetch" href="/assets/js/63.08f06847.js"><link rel="prefetch" href="/assets/js/64.8d69a757.js"><link rel="prefetch" href="/assets/js/65.81003f00.js"><link rel="prefetch" href="/assets/js/66.2ff8637d.js"><link rel="prefetch" href="/assets/js/67.c7e98a1e.js"><link rel="prefetch" href="/assets/js/68.e7498700.js"><link rel="prefetch" href="/assets/js/69.bb730956.js"><link rel="prefetch" href="/assets/js/7.9f1ce256.js"><link rel="prefetch" href="/assets/js/70.51c1e550.js"><link rel="prefetch" href="/assets/js/71.91217b54.js"><link rel="prefetch" href="/assets/js/72.7f5dd9c7.js"><link rel="prefetch" href="/assets/js/73.3c0e5aad.js"><link rel="prefetch" href="/assets/js/74.3475c032.js"><link rel="prefetch" href="/assets/js/75.6351ca99.js"><link rel="prefetch" href="/assets/js/76.0b5f8895.js"><link rel="prefetch" href="/assets/js/77.54ccbb7a.js"><link rel="prefetch" href="/assets/js/78.8283cd45.js"><link rel="prefetch" href="/assets/js/8.f62ead52.js"><link rel="prefetch" href="/assets/js/9.7af626f7.js">
<link rel="stylesheet" href="/assets/css/0.styles.b3d0dfa6.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div><div class="fixed h-12 w-full z-50 top-0"><div class="h-12 w-full bg-black flex items-center justify-center px-4"><p class="text-grey-lightest font-semibold">
Stand with Ukraine 🇺🇦 
<a href="https://www.savethechildren.org/us/where-we-work/ukraine" target="_blank" rel="noindex nofollow noopener" class="text-blue-lighter">Donate</a> <a href="https://razomforukraine.org/" target="_blank" rel="noindex nofollow noopener" class="text-blue-lighter">Today.</a></p></div></div> <div class="theme-container mt-12"><header class="nav"><div class="sidebar-button block md:hidden flex-no-shrink"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <div class="logo-container"><a href="/" class="home-link router-link-active"><img src="/logos/pterry.svg" class="logo"> <span class="site-name hidden md:inline can-hide">Pterodactyl</span></a></div> <div class="w-full"><div class="flex"><div class="search-box"><input aria-label="Search" placeholder="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links flex-no-shrink hidden md:flex"><div class="nav-item"><a href="/project/introduction.html" class="nav-link">Documentation
</a></div><div class="nav-item"><a href="/community/about.html" class="nav-link">Community Guides
</a></div><div class="nav-item"><a href="https://discord.gg/pterodactyl" target="_blank" rel="noopener noreferrer" class="nav-link external">
Get Help
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://dashflo.net/docs/api/pterodactyl/v1/" target="_blank" rel="noopener noreferrer" class="nav-link external">
API
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <div class="nav-item"><a href="https://github.com/pterodactyl/panel" target="_blank" rel="noopener noreferrer" class="nav-link">
GitHub
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div></nav></div></div></header> <div class="sidebar-mask"></div> <div class="sidebar"><nav class="nav-links flex-no-shrink block md:hidden"><div class="nav-item"><a href="/project/introduction.html" class="nav-link">Documentation
</a></div><div class="nav-item"><a href="/community/about.html" class="nav-link">Community Guides
</a></div><div class="nav-item"><a href="https://discord.gg/pterodactyl" target="_blank" rel="noopener noreferrer" class="nav-link external">
Get Help
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://dashflo.net/docs/api/pterodactyl/v1/" target="_blank" rel="noopener noreferrer" class="nav-link external">
API
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <div class="nav-item"><a href="https://github.com/pterodactyl/panel" target="_blank" rel="noopener noreferrer" class="nav-link">
GitHub
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div></nav> <ul class="sidebar-links"><li><div class="sidebar-group first"><p class="sidebar-heading open"><span>Project Information</span> <!----> <!----></p> <ul class="sidebar-group-items"><li><a href="/project/introduction.html" class="sidebar-link">Introduction</a></li><li><a href="/project/about.html" class="sidebar-link">About</a></li><li><a href="/project/terms.html" class="sidebar-link">Terminology</a></li><li><a href="/project/community.html" class="sidebar-link">Community Standards</a></li></ul></div></li><li><div class="sidebar-group"><p class="sidebar-heading"><span>Panel</span> <!----> <div tabindex="0" class="version-select custom-select float-right"><div class="selected"><div class="inline-block">
1.7
<span class="rounded-full ml-2 text-green-dark">current</span></div> <span class="arrow"></span></div> <div class="items hidden"><div class="item"><div class="inline-block">
1.7
<span class="rounded-full ml-2 text-green-dark">current</span></div></div></div></div></p> <ul class="sidebar-group-items"><li><a href="/panel/1.0/getting_started.html" class="sidebar-link">Getting Started</a></li><li><a href="/panel/1.0/webserver_configuration.html" class="sidebar-link">Webserver Configuration</a></li><li><a href="/panel/1.0/additional_configuration.html" class="sidebar-link">Additional Configuration</a></li><li><a href="/panel/1.0/updating.html" class="sidebar-link">Updating the Panel</a></li><li><a href="/panel/1.0/troubleshooting.html" class="sidebar-link">Troubleshooting</a></li><li><a href="/panel/1.0/legacy_upgrade.html" class="sidebar-link">Legacy Upgrades</a></li></ul></div></li><li><div class="sidebar-group"><p class="sidebar-heading"><span>Wings</span> <!----> <div tabindex="0" class="version-select custom-select float-right"><div class="selected"><div class="inline-block">
1.6
<span class="rounded-full ml-2 text-green-dark">current</span></div> <span class="arrow"></span></div> <div class="items hidden"><div class="item"><div class="inline-block">
1.6
<span class="rounded-full ml-2 text-green-dark">current</span></div></div></div></div></p> <ul class="sidebar-group-items"><li><a href="/wings/1.0/installing.html" class="sidebar-link">Installing Wings</a></li><li><a href="/wings/1.0/upgrading.html" class="sidebar-link">Upgrading Wings</a></li><li><a href="/wings/1.0/migrating.html" class="sidebar-link">Migrating to Wings</a></li><li><a href="/wings/1.0/configuration.html" class="sidebar-link">Additional Configuration</a></li></ul></div></li><li><div class="sidebar-group"><p class="sidebar-heading"><span>Tutorials</span> <!----> <!----></p> <ul class="sidebar-group-items"><li><a href="/tutorials/mysql_setup.html" class="sidebar-link">Setting up MySQL</a></li><li><a href="/tutorials/creating_ssl_certificates.html" class="sidebar-link">Creating SSL Certificates</a></li></ul></div></li><li><div class="sidebar-group"><p class="sidebar-heading"><span>Guides</span> <!----> <!----></p> <ul class="sidebar-group-items"><li><a href="/guides/mounts.html" class="sidebar-link">Using Mounts</a></li></ul></div></li><li><div class="sidebar-group collapsable"><p class="sidebar-heading"><span>Development &amp; Ops</span> <span class="arrow right"></span> <!----></p> <!----></div></li></ul> </div> <div class="page"> <div class="content content__default"><h1 id="upgrading-php"><a href="#upgrading-php" class="header-anchor">#</a> Upgrading PHP</h1> <p>This documentation includes instructions for upgrading your system to the latest version of PHP. Please reference the
table below to check what version you need for your version of Pterodactyl.</p> <table><thead><tr><th>Panel Version</th> <th>PHP Version</th></tr></thead> <tbody><tr><td>1.0.0 - 1.2.0</td> <td>7.3, 7.4</td></tr> <tr><td>1.3.0+</td> <td>7.4, 8.0</td></tr></tbody></table> <h2 id="install-php"><a href="#install-php" class="header-anchor">#</a> Install PHP</h2> <p>In order to install PHP 8.0, you will need to run the following command. Please keep in mind different operating systems
may have slightly different requirements for how this command is formatted.</p> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token comment"># Add additional repository for PHP</span>
add-apt-repository -y ppa:ondrej/php
<span class="token function">apt</span> -y update
<span class="token function">apt</span> -y <span class="token function">install</span> php8.0 php8.0-<span class="token punctuation">{</span>cli,gd,mysql,pdo,mbstring,tokenizer,bcmath,xml,fpm,curl,zip<span class="token punctuation">}</span>
</code></pre></div><h2 id="update-composer"><a href="#update-composer" class="header-anchor">#</a> Update Composer</h2> <p>As of <code>Panel@1.3.0</code> we require <code>composer</code> v2. To update composer you will need to run the following command which will
perform the composer self-update process and move you over to version 2.</p> <div class="language-bash extra-class"><pre class="language-bash"><code>composer self-update --2
</code></pre></div><h2 id="webserver-configuration"><a href="#webserver-configuration" class="header-anchor">#</a> Webserver Configuration</h2> <div class="tabs-component"><ul role="tablist" class="tabs-component-tabs"></ul> <div class="tabs-component-panels"><section aria-hidden="true" id="nginx" role="tabpanel" class="tabs-component-panel" style="display:none;"><p>After upgrading to PHP 8.0, you will most likely need to update your NGINX configuration. Your configuration file
is most likely called <code>pterodactyl.conf</code> and located in the <code>/etc/nginx/sites-available/</code> directory, or if on CentOS,
<code>/etc/nginx/conf.d/</code>.</p> <p>Make sure to update the path in the command below to reflect the actual location of your configuration file.</p> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token function">sed</span> -i -e <span class="token string">'s/php7.[0-4]-fpm.sock/php8.0-fpm.sock/'</span> /etc/nginx/sites-available/pterodactyl.conf
</code></pre></div><p>Once you have edited the file run the command below to reload nginx and apply your changes.</p> <div class="language-bash extra-class"><pre class="language-bash"><code>systemctl reload nginx
</code></pre></div></section> <section aria-hidden="true" id="apache" role="tabpanel" class="tabs-component-panel" style="display:none;"><p>Run the commands below to disable PHP 7.4 and enable PHP 8.0 when serving requests. If you are upgrading from
PHP 7.4 change the value in the command below to reflect that.</p> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token comment"># Hint: a2enmod = a2_enable_module 🤯</span>
a2enmod php8.0
<span class="token comment"># Hint: a2dismod = a2_disable_module 🤯</span>
a2dismod php7.3
</code></pre></div></section></div></div> <h4 id="return-to-the-1-x-x-upgrade-guide"><a href="#return-to-the-1-x-x-upgrade-guide" class="header-anchor">#</a> <a href="/panel/1.0/upgrade/1.0.html#fetch-updated-files">Return to the 1.X.X Upgrade Guide</a></h4></div> <div class="page-edit"><div class="edit-link"><a href="https://github.com/pterodactyl/documentation/edit/master/guides/php_upgrade.md" target="_blank" rel="noopener noreferrer">Help us improve this page.</a> <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></div> <!----></div> <!----> </div></div></div><div class="global-ui"></div></div>
<script src="/assets/js/app.560ab58d.js" defer></script><script src="/assets/js/4.babf7215.js" defer></script><script src="/assets/js/1.79a56ae5.js" defer></script><script src="/assets/js/57.6cdf7d48.js" defer></script>
</body>
</html>