Apache 2.4 is Now the Default Apache Version in the PHP Engine
Apache (httpd) 2.4 is now the default version used by Nanobox's PHP engine. Previously, when using the Apache webserver, the engine defaulted to using Apache 2.2. Apache 2.4 has been out for a while, but introduced breaking changes requiring adjustments to application code (specifically .htaccess
files). This change to the PHP engine helps ensure those using Apache are using the most current, stable release.
Adjusting for Apache 2.4
The breaking changes introduced in Apache 2.4 can all be adjusted for in your .htaccess
file(s) and only relate to access control. Apache has provided a thorough guide for upgrading to 2.4 from 2.2:
Upgrading to Apache 2.4 from 2.2
To avoid updating access controls in your .htaccess
file(s), you can enable the access_compat
Apache module in your boxfile.yml
.
run.config:
engine: php
engine.config:
apache_modules:
- access_compat
Updated Apache Config Options
In Apache 2.4, the MaxRequestsPerChild
and MaxClients
configuration options were renamed to MaxConnectionsPerChild
and MaxRequestWorkers
respectively. Both old and new options names are accepted.
When using the PHP engine, these settings are configured using the apache_max_requests
and apache_max_clients
options in the boxfile.yml
. In the future, updated config names will likely be introduced with legacy support for the old names, but since Apache respects both old and new config names, the boxfile.yml
configs are being left as-is and do not need to be updated.
To Keep Using Apache 2.2
Both Apache 2.4 and 2.2 are available when using the PHP engine. If you want/need to use Apache 2.2, you need specify the apache_version
in your boxfile.yml
:
run.config:
engine: php
engine.config:
apache_version: '2.2'
Subscribe to Nanobox News
Get the latest posts delivered right to your inbox