## php.java.servlet
Class PhpCGIServlet

    java.lang.Object
      javax.servlet.GenericServlet
          javax.servlet.http.HttpServlet
              php.java.servlet.CGIServlet
                  php.java.servlet.FastCGIServlet
                      php.java.servlet.PhpCGIServlet

All Implemented Interfaces:
  java.io.Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

    public class PhpCGIServlet

extends FastCGIServlet

Handles requests from internet clients.

This servlet can handle GET/POST requests directly. These requests invoke the php-cgi machinery from the CGI or FastCGI servlet. Although the servlet to php-cgi back to servlet path is quite slow (compared with the http front end/j2ee back end setup) and consumes two servlet instances instead of only one, it can be useful as a replacement for a system php installation, see the README in the `WEB-INF/cgi` folder. It is currently used for our J2EE test/demo.

See Also:
  `JavaBridge`, Serialized Form

Field Summary
`static int` `CGI_CHANNEL` The CGI default port
`static int` `CGI_MAX_REQUESTS` The max.

Fields inherited from class php.java.servlet.FastCGIServlet
`FCGI_CHANNEL`

Constructor Summary
`PhpCGIServlet()`

Method Summary
`void` `destroy()` Destroys the FastCGI connection pool, if it exists.
`void` `init(javax.servlet.ServletConfig config)` Create a new FastCGI servlet which connects to a PHP FastCGI server using a connection pool.

Methods inherited from class php.java.servlet.CGIServlet
`getLocalPort`

Methods inherited from class javax.servlet.http.HttpServlet
`service`

Methods inherited from class javax.servlet.GenericServlet
`getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### CGI_CHANNEL

    public static final int CGI_CHANNEL

  The CGI default port

  See Also:
    Constant Field Values

### CGI_MAX_REQUESTS

    public static final int CGI_MAX_REQUESTS

  The max. number of concurrent CGI requests.

  The value should be less than 1/2 of the servlet engine's thread pool size as this servlet also consumes an instance of PhpJavaServlet.

  See Also:
    Constant Field Values

Constructor Detail

### PhpCGIServlet

    public PhpCGIServlet()

Method Detail

### init

    public void init(javax.servlet.ServletConfig config)
              throws javax.servlet.ServletException

  Description copied from class: `FastCGIServlet`
  Create a new FastCGI servlet which connects to a PHP FastCGI server using a connection pool. If the JavaBridge context exists and the JavaBridge context can start a FastCGI server and the current context is configured to connect to a FastCGI server, the current context connects to the JavaBridge context to start the server and then uses this server for all subsequent requests, until the server is stopped. When FastCGI is not available (anymore), the parent CGI servlet is used instead.

  Specified by:
    `init` in interface `javax.servlet.Servlet`
  Overrides:
    `init` in class `FastCGIServlet`
  Parameters:
    `config` - a `ServletConfig` object containing the servlet's configuration and initialization parameters
  Throws:
    `javax.servlet.ServletException` - if an exception has occurred that interferes with the servlet's normal operation
  See Also:
    `ConnectionPool`, `FastCGIServlet.destroy()`

### destroy

    public void destroy()

  Description copied from class: `FastCGIServlet`
  Destroys the FastCGI connection pool, if it exists.

  Specified by:
    `destroy` in interface `javax.servlet.Servlet`
  Overrides:
    `destroy` in class `FastCGIServlet`