Changes to web server configs and Composer behavior for PHP applications

Change effective on 19 May 2014

Heroku’s PHP support beta now always runs composer install on push, even if no composer.lock file is present. This is to ensure that autoloaders are created and scripts are run even if an application has no package dependencies.

In addition, the following changes have been made to the default web server settings:

  • Apache2 ServerName and Nginx server_name now default to “localhost”
  • Apache2: mod_proxy_http and mod_expires are now enabled by default
  • Apache2: work around the proxy module unsetting the Authorization HTTP header if provided
  • Apache2: fix proxying to PHP-FPM to only affect existing .php files
  • Nginx: the PATH_INFO environment variable is now only set if not empty
  • Nginx: disable port_in_redirect to fix server generated redirects containing the local listening port