Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| gentoo:separated-php [2024/03/12 08:36] – willy | gentoo:separated-php [2025/03/13 13:27] (current) – [Using independent PHP for different services] willy | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Using independent PHP for different services ====== | + | ====== |
| Ideally, you want to run each PHP-based service within the boundaries of it's own PHP instance. The advantages of such a solution would be that each PHP instance can run as the service user which guarantee service isolation and more protection in data access. | Ideally, you want to run each PHP-based service within the boundaries of it's own PHP instance. The advantages of such a solution would be that each PHP instance can run as the service user which guarantee service isolation and more protection in data access. | ||
| Line 21: | Line 21: | ||
| <code bash> | <code bash> | ||
| cp -a / | cp -a / | ||
| + | rm / | ||
| </ | </ | ||
| Choose your preferred (or required) PHP version for service1. | Choose your preferred (or required) PHP version for service1. | ||
| + | Your PHP FPM will still use the **php.ini** from the original setup folder, so delete the copied one or you will get confused! | ||
| Then, you need the following edit to your **/ | Then, you need the following edit to your **/ | ||
| Line 63: | Line 65: | ||
| listen = 127.0.0.1: | listen = 127.0.0.1: | ||
| </ | </ | ||
| + | |||
| + | Remeber the port number as you will need to use it in NGINX configuration. | ||
| and then you can start it and add to boot: | and then you can start it and add to boot: | ||
| Line 72: | Line 76: | ||
| done! | done! | ||
| - | ==== Updating php ==== | + | ==== NGINX configuration |
| + | See [[selfhost: | ||
| + | A generic NGINX configuration for PHP-FPM is the following: | ||
| + | < | ||
| + | location ~ /.*\.php$ { | ||
| + | try_files $uri =404; | ||
| + | fastcgi_split_path_info ^(.+\.php)(/ | ||
| + | include fastcgi_params; | ||
| + | fastcgi_param SCRIPT_FILENAME $request_filename; | ||
| + | fastcgi_pass 127.0.0.1: | ||
| + | } | ||
| + | </ | ||
| + | where you need to adapt the port (9000) and the location, of course. | ||
| + | |||
| + | ==== Updating php ==== | ||
| + | When you perform emerge updates PHP will be updated sooner or later. | ||
| + | You can, and should, migrate to the newer version when possible. In this case all you need to do it to update the value into **php-version** and probably also update the specific //php.ini// values. | ||
| - | This approach will load configuration files from **/ | ||