Cum încetăm să mai folosim php-fpm pe Apache? Am încercat să obțin o problemă care rulează serverul este că rulează pe CENTOS 6 și puppet funcționează doar pe CENTOS 6. Încercam să îmi dau seama de ce serverul nu rula după ce am copiat setările și apoi am făcut:
sudo netstat -plnt
care mi-a arătat că folosesc php-fpm și pe serverul pe care funcționează nu îl rulam. Am rămas perplex, deoarece configurațiile httpd au fost aceleași când am verificat ultima dată, așa că mă întreb cum să trec de la php-fpm la php pentru a vedea dacă pot face ca Apache să ruleze pe noul server. l-am oprit:
sudo service php-fpm stop
Dar încă primesc 500 de la lac. Nu sunt sigur dacă s-ar putea să fi omis ceva din configurația httpd, dar serverul nou și vechi aveau cam aceleași configurații.
Am un php.conf:
#
# PHP este un limbaj de scripting încorporat în HTML care încearcă să îl realizeze
# ușor pentru dezvoltatori să scrie pagini web generate dinamic.
#
<IfModule prefork.c>
LoadModule php7_module modules/libphp7.so
</IfModule>
<IfModule !prefork.c>
LoadModule php7_module modules/libphp7-zts.so
</IfModule>
#
# Determină interpretul PHP să gestioneze fișierele cu extensia .php.
#
AddHandler php7-script .php
AddType text/html .php
#
# Adăugați index.php la lista de fișiere care vor fi servite ca director
# indexuri.
#
DirectoryIndex index.php
#
# Anulați comentariile următoarei rânduri pentru a permite PHP să imprime destul de mult .php-uri
# fișiere ca cod sursă PHP:
#
#AddType application/x-httpd-php-source .phps
#
# Opțiuni de configurare PHP specifice Apache
# acestea pot fi suprascrise în fiecare vhost configurat
#
php_value session.save_handler „fișiere”
php_value session.save_path „/var/lib/php/session”
php_value soap.wsdl_cache_dir „/var/lib/php/wsdlcache”
și o conf. fast_cgi:
# AVERTISMENT: acesta este un kludge:
## Utilizatorul/Grupul pentru httpd trebuie setat înainte de a putea încărca mod_fastcgi,
## dar /etc/httpd/conf.d/fastcgi.conf pe RHEL este încărcat înainte
## /etc/httpd/conf/httpd.conf, așa că trebuie să le setăm aici :(
## mod_fcgid nu are acest bug,
## dar nu gestionează procesele PHP copii în mod corespunzător
## http://serverfault.com/questions/303535/a-single-php-fastcgi-process-blocks-all-other-php-requests/305093#305093
Utilizator apache
Grup apache
LoadModule fastcgi_module modules/mod_fastcgi.so
# dir pentru fișierele socket IPC
FastCgiIpcDir /var/run/mod_fastcgi
# împachetează toate apelurile de script fastcgi în suexec
FastCgiWrapper dezactivat
# FastCgiConfig global poate fi suprascris de opțiunile FastCgiServer din vhost config
FastCgiConfig -idle-timeout 120 -maxClassProcesses 1
# eșantion de configurare PHP
# vezi /usr/share/doc/mod_fastcgi-2.4.6 pentru scriptul php-wrapper
# nu uitați să dezactivați mod_php în /etc/httpd/conf.d/php.conf!
#
# pentru a activa separarea privilegiilor, adăugați o directivă „SuexecUserGroup”.
# și alegeți scriptul php-wrapper și directorul părinte în consecință
# vezi și http://www.brandonturner.net/blog/2009/07/fastcgi_with_php_opcode_cache/
#
#FastCgiServer /var/www/cgi-bin/php-wrapper
#AddHandler php-fastcgi .php
#Acțiune php-fastcgi /cgi-bin/php-wrapper
#AddType application/x-httpd-php .php
#DirectoryIndex index.php
#
#<Locație /cgi-bin/php-wrapper>
# Comanda Respinge, Permite
# Negați de la toți
# Permite de la env=REDIRECT_STATUS
# Opțiuni ExecCGI
# SetHandler fastcgi-script
#</Locație>
și o conf fcgi:
<IfModule mod_fastcgi.c>
Alias /php5-fcgi-staging03 /usr/lib/cgi-bin/php5-fcgi-staging03
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi-staging03 -socket /var/run/php-fpm/php5-fcgi-staging03.sock -pass-header Authorization -idle-timeout 300
</IfModule>
Comentând php5-fcgi-staging03 îmi dă:
Nu a fost gasit
Adresa URL solicitată /php5-fcgi-staging03/index.php nu a fost găsită pe acest server.