# PHP An easily integratable language for dynamic HTML with read/write file access possible on the server side. # Installation As always, we're assuming Debian + Nginx for this. ```sh apt update apt install php php-fpm ``` `php-fpm` should automatically enable it's service. Verify via `systemctl status php7.3-fpm.service` # Setup Check whether you want to use a TCP connection or a UNIX socket for php connections. The default and recommended way is TCP/IP. ## TCP/IP You can edit the IP and port of the connection in `/etc/php/7.3/fpm/pool.d/www.conf` The default is: ``` listen = 127.0.0.1:9000 ``` ## Socket For socket, use: ``` listen = run/php/php7.3-fpm.sock ``` ## Nginx To enable nginx to talk to php add the following to your website config: ```nginx location ~\.php${ include snippets/fastcgi-php.conf fastcgi_pass 127.0.0.1:9000; } ``` replace TCP/IP address with the appropriate socket file if that's your preferred setup. Afterwards, since you've modified the nginx config, this of course requires a `systemctl restart nginx`. Tip: `nginx -t` let's you verify your syntx without killing the running nginx instance, leading to a smoother switchover. Create a file in the root dir for your website (so probably somwhere in `/var/www/`) ending in `.php` with the content: ```php chmod -R 744 ``` should be a good starting-off point. Files only need to have permissions of `644` of course so maybe change that as well. # Learning PHP If you're completely new to php [w3schools' course](https://www.w3schools.com/php) is probably a good starting point.