Dear Wiki user, You have subscribed to a wiki page or wiki category on "Httpd Wiki" for change notification.
The "PHP-FPM" page has been changed by thumbs: https://wiki.apache.org/httpd/PHP-FPM?action=diff&rev1=7&rev2=8 Comment: Added table of contents and recipe for the handler approach to check for the existence of files first + <<TableOfContents()>> + = High-performance PHP on apache httpd 2.4.x using mod_proxy_fcgi and php-fpm. = With the release of apache httpd 2.4 upon an unsuspecting populace, we have gained some very neat functionality regarding apache and php: the ability to run PHP as a fastCGI process server, and address that fastCGI server ''directly from within apache'', via a dedicated proxy module (mod_proxy_fcgi.) @@ -111, +113 @@ ''Note that with this approach, the captured request URI ($1) is not passed after the path'' + === Proxy via handler === + + With this approach, you can check for the existence of the resource prior to proxying to the php-fpm backend. + + `# Defining a worker will improve performance` + + `# And in this case, re-use the worker (dependent on support from the fcgi application)` + + `# If you have enough idle workers, this would only improve the performance marginally` + + `<Proxy "fcgi://localhost:9000/" enablereuse=on max=10>` + + `</Proxy>` + + + `<FilesMatch "\.php$">` + + ` # Pick one of the following approaches` + + ` # Use the standard TCP socket` + + ` #SetHandler "proxy:fcgi://localhost/:9000"` + + ` # If your version of httpd is 2.4.9 or newer (or has the back-ported feature), you can use the unix domain socket` + + ` #SetHandler "proxy:unix:/path/to/app.sock|fcgi://localhost/:9000"` + + `</FilesMatch>` + + === Example === Say you want to be able to conjure up the standard php info page listing all compiled-in and loaded extensions, and all runtime configuration options and script info. @@ -139, +171 @@ === Performance and Pitfalls === - mod_proxy_fcgi now supports network sockets since 2.4.9 ( [[https://issues.apache.org/bugzilla/show_bug.cgi?id=54101|Unix socket support for mod_proxy_fcgi]] ) + mod_proxy_fcgi now supports unix domain sockets since 2.4.9 ( [[https://issues.apache.org/bugzilla/show_bug.cgi?id=54101|Unix domain socket support for mod_proxy_fcgi]] ) It is easy to overwhelm your system's available sockets, pass over ulimits, etc. Some tips to avoid this: --------------------------------------------------------------------- To unsubscribe, e-mail: docs-unsubscr...@httpd.apache.org For additional commands, e-mail: docs-h...@httpd.apache.org