On 04/08/2021 08:57 PM, Daniel
Ferradal wrote:
> There is no such thing as default php version for a
site.
>
> You have to make sure you have really two different
instances of
> php-fpm running for the different php versions you
want to use.
>
> Chances are you have the same php-fpm service with
two pools, so both
> may be with the same version.
>
> Apache doesn't care what you do from now on, since
it is just reverse
> proxying requests to the selected servers. So it is
up to you and your
> php-fpm config and how you start them now.
>
> El vie, 9 abr 2021 a las 1:55, H (
<agents@xxxxxxxxxxxxxx>)
escribió:
>> On 04/08/2021 07:34 PM, H wrote:
>>> On 04/08/2021 06:05 PM, Daniel Ferradal
wrote:
>>>> Hello,
>>>>
>>>> What you must remove is all
scriptalias, addhandler/action directives.
>>>> So I'd say with a directive for each
virtualhost you mentioned you
>>>> have you just would need (and of course
disable mod_php module):
>>>>
>>>> In one for one version pointing to 9002
port:
>>>> <FilesMatch \.(php|phar)$>
>>>> SetHandler
"proxy:fcgi://localhost:9002"
>>>> </FilesMatch>
>>>>
>>>> In the other virtualhost you want to
have pointing to 9003:
>>>> <FilesMatch \.(php|phar)$>
>>>> SetHandler
"proxy:fcgi://localhost:9003"
>>>> </FilesMatch>
>>>>
>>>> Apache is really much more simple and
easier than many examples out
>>>> there try to show.
>>>>
>>>> El jue, 8 abr 2021 a las 23:54, H (
<agents@xxxxxxxxxxxxxx>)
escribió:
>>>>> On 04/08/2021 05:06 PM, Daniel
Ferradal wrote:
>>>>>> Hello,
>>>>>>
>>>>>> You mention PHP is set to
listen to different tcp ports, yet the
>>>>>> config you show from apache
points to a unix socket with
>>>>>> mod_proxy_fcgi
>>>>>>
>>>>>> Also worth mentioning you don't
need php7_module at all when pointing
>>>>>> to FPM with mod_proxy_fcgi, so
I would just unload that module asap in
>>>>>> case you have some other config
lying around taking precedence and
>>>>>> causing the problems you
mention.
>>>>>>
>>>>>> Cheers
>>>>>>
>>>>>> El jue, 8 abr 2021 a las 22:40,
H (
<agents@xxxxxxxxxxxxxx>)
escribió:
>>>>>>> Using CentOS 7 and need to
run two different versions of php for the websites, php
7.0 and 7.2. The set up is x.x.x.x/site1 and
x.x.x.x/site2 and I am using php-fm for both php
versions configuring port 9002 for php 7.0 and 9003 for
php 7.2.
>>>>>>>
>>>>>>> I have a conf file for each
site (this is site 1 which is supposed to run php 7.0)
and called site1.conf, similar to:
>>>>>>>
>>>>>>> <VirtualHost *:80>
>>>>>>> ServerAdmin xxx
>>>>>>> ServerName
x.x.x.x/site1
>>>>>>> DocumentRoot
/var/www/html/
>>>>>>> DirectoryIndex
info.php
>>>>>>> ErrorLog
/var/log/httpd/site1-error.log
>>>>>>> CustomLog
/var/log/httpd/site1-access.log combined
>>>>>>>
>>>>>>> <IfModule
!mod_php7.c>
>>>>>>> <FilesMatch
\.(php|phar)$>
>>>>>>> SetHandler
"proxy:unix:/var/opt/rh/rh-php70/run/php-fpm/www.sock|fcgi://localhost"
>>>>>>> </FilesMatch>
>>>>>>> </IfModule>
>>>>>>> </VirtualHost>
>>>>>>>
>>>>>>> The other site is identical
and supposed to run php 7.2 so the file obviously uses
site2 instead of site1 and php72 instead of php70.
>>>>>>>
>>>>>>> I have installed both php
versions and can successfully switch between them on the
commandline but have run into problem getting apache to
use both. I consulted
https://linkprotect.cudasvc.com/url?a=https%3a%2f%2fwww.digitalocean.com%2fcommunity%2ftutorials%2fhow-to-run-multiple-php-versions-on-one-server-using-apache-and-php-fpm-on-centos-7&c=E,1,nGU2QIv_y4smfnrUNnx9CDP8bkt1CgBCY00J7ykv7wIqnjBmryO1KuEik3Og-vkjZWpESUYdCo9JVJ3o77e7nOazFVuJCoH57Wvd5gM1XdQ,&typo=1
but apachectl configtest complains that "module
php7_module is already loaded, skipping". I can
successfully get the websites to use the same php
version, either 7.0 or 7.2.
>>>>>>>
>>>>>>> I must have missed some
configuration step and would appreciate any pointers.
>>>>>>>
>>>>>>> Thank you.
>>>>>>>
>>>>>>>
>>>>>>>
---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail:
users-unsubscribe@xxxxxxxxxxxxxxxx
>>>>>>> For additional commands,
e-mail:
users-help@xxxxxxxxxxxxxxxx
>>>>>>>
>>>>> Thank you for your quick reply. I
am sort of dabbling with apache and am not 100% sure
what I need to change but would the following change to
the above conf file be what you are telling me?
>>>>>
>>>>> SetHandler
"proxy:fcgi://localhost:9002
>>>>> ScriptAlias /cgi-bin/
"/var/www/cgi-bin/"
>>>>> AddHandler php70-fcgi .php
>>>>> Action php70-fcgi
/cgi-bin/php70.fcgi
>>>>>
>>>>>
>>>>>
---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail:
users-unsubscribe@xxxxxxxxxxxxxxxx
>>>>> For additional commands, e-mail:
users-help@xxxxxxxxxxxxxxxx
>>>>>
>>> This is what I did:
>>>
>>> - I disabled what I think are the php_mod
statements in both 15-rh-php70-php.conf and
15-rh-php72-php.conf by inserting #disabled in front of
"LoadModule php7_module
modules/
https://linkprotect.cudasvc.com/url?a=https%3a%2f%2flibrh-php70-php7.so&c=E,1,ObjWDSRkeobJmAvtgGDv7IZhOuViBCsywRH4WTkNPs2Zia5LKubUYQ80Kog5ge58me6QKtwGLdOjH_AqFDhPNxL5rUy39Dx47NdG4foHL0fSSrc,&typo=1"
in the former and the equivalent in the latter.
>>>
>>> - For the the site1.conf I have:
>>>
>>> <VirtualHost *:80>
>>> ServerAdmin xxx
>>> ServerName x.x.x.x
>>> DocumentRoot /var/www/html/
>>> ErrorLog
/var/log/httpd/site1-error.log
>>> CustomLog
/var/log/httpd/site1-access.log combined
>>>
>>> <FilesMatch \.(php|phar)$>
>>> SetHandler
"proxy:fcgi://localhost:9002"
>>> </FilesMatch>
>>> </VirtualHost>
>>>
>>> and for site2.conf
>>>
>>> <VirtualHost *:80>
>>> ServerAdmin xxx
>>> ServerName x.x.x.x
>>> DocumentRoot /var/www/html/
>>> ErrorLog
/var/log/httpd/site2-error.log
>>> CustomLog
/var/log/httpd/site2-access.log combined
>>>
>>> <FilesMatch \.(php|phar)$>
>>> SetHandler
"proxy:fcgi://localhost:9003"
>>> </FilesMatch>
>>> </VirtualHost>
>>>
>>> - I have checked that I have both
rh-php70-php-fpm and rh-php72-php-fpm running and one is
listening on port 9002 and the other on 9003.
>>>
>>> Yet, when I check the php version in a html
page in each of the site directories I only see php 7.0
loading.
>>>
>>> So, there must be something more I need to
do?
>>>
>>> Another question, I found that the
Customlogs above catch messages from all sites, not just
site1 or site2 respectively. How can I change so that
each CustomLog only catches accesses for that particular
site?
>>>
>> How does the system define which the "default"
php version for a particular site? Or is there no
default and I have to write a eg site3.conf file
specifying the port for each site?
>>
>> I should have added that I access the sites
like this: x.x.x.x/site1 and x.x.x.x/site2 etc.
>>
>> And I restarted httpd after each change.
>>
>>
>>
---------------------------------------------------------------------
>> To unsubscribe, e-mail:
users-unsubscribe@xxxxxxxxxxxxxxxx
>> For additional commands, e-mail:
users-help@xxxxxxxxxxxxxxxx
>>
>
This is from ps aux | grep fpm:
root 17004 0.0 0.6 339008 11244 ? Ss
01:18 0:00 php-fpm: master process
(/etc/opt/rh/rh-php70/php-fpm.conf)
apache 17005 0.0 0.3 339112 7352 ? S
01:18 0:00 php-fpm: pool www
apache 17006 0.0 0.3 339112 7356 ? S
01:18 0:00 php-fpm: pool www
apache 17007 0.0 0.4 339252 8452 ? S
01:18 0:00 php-fpm: pool www
apache 17008 0.0 0.3 339112 7360 ? S
01:18 0:00 php-fpm: pool www
apache 17009 0.0 0.3 339112 7368 ? S
01:18 0:00 php-fpm: pool www
root 17036 0.0 0.9 562800 18540 ? Ss
01:18 0:00 php-fpm: master process
(/etc/opt/rh/rh-php72/php-fpm.conf)
apache 17037 0.0 0.3 562800 6976 ? S
01:18 0:00 php-fpm: pool www
apache 17038 0.0 0.3 562800 6976 ? S
01:18 0:00 php-fpm: pool www
apache 17039 0.0 0.3 562800 6976 ? S
01:18 0:00 php-fpm: pool www
apache 17040 0.0 0.3 562800 6976 ? S
01:18 0:00 php-fpm: pool www
apache 17041 0.0 0.3 562800 6980 ? S
01:18 0:00 php-fpm: pool www
Does this not look correct?
---------------------------------------------------------------------
To unsubscribe, e-mail:
users-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail:
users-help@xxxxxxxxxxxxxxxx