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 (<age...@meddatainc.com>) 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 (<age...@meddatainc.com>) 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://www.digitalocean.com/community/tutorials/how-to-run-multiple-php-versions-on-one-server-using-apache-and-php-fpm-on-centos-7
>>>>>  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-unsubscr...@httpd.apache.org
>>>>> For additional commands, e-mail: users-h...@httpd.apache.org
>>>>>
>>> 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-unsubscr...@httpd.apache.org
>>> For additional commands, e-mail: users-h...@httpd.apache.org
>>>
> 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/librh-php70-php7.so" 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-unsubscr...@httpd.apache.org
For additional commands, e-mail: users-h...@httpd.apache.org

Reply via email to