Die Konfigurationseinstellungen von PHP kann man auch analog zu Apache bei Nginx direkt im nginx.conf ändern. Was im Apache so aussieht:

httpd.conf

<IfModule mod_php5.c>
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag engine on
</IfModule>

kann man bei Nginx mit php-fpm so konfigurieren:

fastcgi_param PHP_VALUE "include_path =.:/usr/local/lib/php"
fastcgi_param PHP_ADMIN_VALUE "engine=on";

Hier muss man unbedingt beachten, dass man mit fastcgi_param den PARAM jeweils nur 1x verwenden kann. Das hier wäre also ungültig:

fastcgi_param  PHP_VALUE "register_globals=0";
fastcgi_param  PHP_VALUE "display_errors=0";

Man muss die Einträge zusammenfassen. Das geht einfach mit einem Leerschlag oder auf einer Linie mit \n.
Korrekt Config:

fastcgi_param  PHP_VALUE "register_globals=0
display_errors=0";

Oder so wäre es auch korrekt:

fastcgi_param  PHP_VALUE "register_globals=0\ndisplay_errors=0";

Nun habe ich aber das Problem, dass ich bei Nginx sehr viele globale Konfigurationsfiles verwende. Auch für die Benutzung von PHP. Wenn ich nun die PHP Config im einen externen File habe, welches ich in die server{} Config include, kann ich keine weiteren fastcgi_params mehr aktivieren.  Mit einem kleinen Hack wie „set $fastcgi_param“ und die Variabel dann im include File berücksichtigen geht auch nicht.

Nun gibt es noch eine weitere Konfigurationsmöglichkeit für VirtualHosts. Und zwar direkt im PHP.ini!

[HOST=www.example.com]
error_reporting = E_ALL
display_errors = On

Diese Lösung ist für meine Anforderungen perfekt! So lassen sich im php.ini für jeden VirtualHost individuelle PHP Settings definieren. 🙂