97 lines
2.3 KiB
Markdown
Executable File
97 lines
2.3 KiB
Markdown
Executable File
# PHP
|
|
|
|
Installing PHP on Debian is easy as...
|
|
|
|
```
|
|
apt install php-fpm php-readline php-mbstring php-gd \
|
|
php-curl php-zip php-mysql php-dom php-json php-pdo php-fileinfo \
|
|
php-bz2 php-intl php-gmp php-apcu php-pear php-cli php-imagick
|
|
```
|
|
|
|
If you need a newer version, use the sury.org repos, take
|
|
a look at [this readme](https://packages.sury.org/php/README.txt) or
|
|
use the `php8.1-sury-install.sh` script in this directory...
|
|
|
|
```
|
|
sudo bash php8.1-sury-install.sh
|
|
```
|
|
|
|
---
|
|
|
|
Now you have php installed you need to copy the `localhost.conf.example`
|
|
file (See [notes 1](#Notes)) in this directory to where your php-fpm
|
|
pool files are.
|
|
|
|
**If you have multiple PHP versions installed you'll need to pick the
|
|
version you want your site to run on.**
|
|
|
|
So, for PHP-FPM 7.4 using the example file...
|
|
|
|
```
|
|
cp -v localhost.conf.example /etc/php/7.4/fpm/pool.d/yoursite.com.conf
|
|
```
|
|
|
|
For PHP 8.1...
|
|
|
|
```
|
|
cp -v localhost.conf.example /etc/php/8.1/fpm/pool.d/yoursite.com.conf
|
|
```
|
|
|
|
**You'll need to rename and modify the values (within the copied file)
|
|
to match your site. I've left the main things to change at the top
|
|
of the config file.**
|
|
|
|
|
|
---
|
|
|
|
Got your config modified and sorted? Great! Now we need to restart
|
|
php-fpm. This varies depending on your version, but just you change
|
|
the PHP version number in the command below...
|
|
|
|
For 7.4...
|
|
|
|
```
|
|
systemctl restart php7.4-fpm
|
|
```
|
|
|
|
And 8.1...
|
|
|
|
```
|
|
systemctl restart php8.1-fpm
|
|
```
|
|
|
|
fpm is now ready to serve your php files via the socket
|
|
`/run/php/yoursite.com.sock`. You'll need to configure your webserver to
|
|
send any PHP requests along to it. If you're using Caddy with my
|
|
Caddyfile you're already set.
|
|
|
|
TIP: You can use `systemctl status php7.4` to check for errors!
|
|
|
|
## Disabling configurations & what about `www.conf`?
|
|
|
|
The included `www.conf` won't hurt and can be left alone, although if
|
|
you want to disable it, just rename it to `www.conf.disabled`. You can
|
|
do the same for any other configs you don't want used...
|
|
|
|
```
|
|
cd /etc/php/7.4/fpm/pool.d/
|
|
mv -v www.conf www.conf.disabled
|
|
```
|
|
|
|
And to enable it again...
|
|
|
|
```
|
|
cd /etc/php/7.4/fpm/pool.d/
|
|
mv -v www.conf.disabled www.conf
|
|
```
|
|
|
|
PHP-FPM needs to be reloaded, you can do that with...
|
|
|
|
```
|
|
systemctl reload php7.4-fpm
|
|
```
|
|
|
|
## Notes
|
|
|
|
[1] It's a symlink to the one I use with 7.4. It works fine on PHP 8.1.
|