This is a PHP module for some enhanced functionality.
Currently, it does only one thing: it won't process fastcgi requests when the client has already closed the connection.
Requests are queued by the Linux kernel and placed in a TCP backlog. Once an FPM worker becomes available, it gets the next queued request and starts processing, regardless of the state of the connection with the client.
This module checks if the client is still connected before processing the requests and skips it when the client is already gone.
The behavior can be controlled by the hypernode.kill_gone_requests
setting. To disable the behavior for a specific directory, place a file
called .user.ini
in it with the following contents:
hypernode.kill_gone_requests = 0
The buildsystem for this module uses debhelper scripts that are only available for Ubuntu 14.04 (trusty) and later. If you need to build this module for Ubuntu Precise, you need two additional dependencies: php5-dev-5.5-buildscripts and pkg-php-tools from Ubuntu 14.04. Both packages are available in the Hypernode Precise repository. You also need to have the same major version of php5-dev installed as this module will be used with.
You also need dh-php
> 0.10, so download here: http://ftp.nl.debian.org/debian/pool/main/d/dh-php/dh-php_0.10_all.deb
Make sure you have a build environment set up for the target system.
- VERSION=$(date "+%Y%m%d.%H%M%S")
ln -s src/ $VERSION
git-dch --debian-tag="%(version)s" --new-version=$VERSION --debian-branch master --release
git commit -m "Update changelog for $VERSION release"
git tag $VERSION
git push && git push --tags
git-buildpackage --git-pbuilder --git-dist=buster --git-arch=amd64 --git-debian-branch=master
Or for the fully automated version see ByteInternet/hypernode-buildscripts
phpize
./configure && make
make install (as root)
Place sources in /path/to/php_sources/ext/hypernode.
cd /path/to/php_sources
autoconf
./configure --enable-hypernode
Now just build and install php.