PHP is one of the highest used programming languages for websites, and it allows you to add practically any functionality you'd ever want to your sites.
+ +Install
+sudo apt install php-fpm php-mysql
+
+ Um, I forgor
+sudo nano /etc/php//fpm/php.ini
+ Comment the cgi.fix_pathinfo line, to look like below
+#set cgi.fix_pathinfo = 0
+
+ Add to Website's NGINX conf
+For each website you want to use php, you'll need to edit the confige file
+sudo vim /etc/nginx/sites-available/
+ The following code needs adding within the XXX block
+location ~ \.php$ {
+ include snippets/fastcgi-php.conf;
+ fastcgi_pass unix:/run/php/php-fpm.sock;
+}
+ This will use nginx's fastcgi-php.conf snippet which is more secure by deafult than many other php/nginx configs because it 404s if the files doesn't exist. Read Neal Poole'sDon't trust the tutorials for more info.
+ +Reload NGINX
+sudo systemctl reload nginx
+
+ Test it works
+Create a PHP file e.g. filename.php in the website's directory, and add the snippet below into it
+
+ Go to that webpage in your browser e.g. domain.co.uk/filename.php, and if php is working you should see a dump of your PHP's version, headers, etc.
+ +Make nginx use index.php as homepage/root
+Now we'll set nginx to load up index.php as the root of the website, if it exists. Open the site's config with an editor
+vim /etc/nginx/sites-available/
+ Change the index line to rad as below. This will then tell the server to load index.php, and if it doesn't exists, load index.html in it's stead
+index index.php index.html+