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 **/ | ||