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://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-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/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? --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx
![]() |