# fastcgi + suphp. globale php einstellung + cache



## Rupertt (18. Juli 2011)

Hallo,

ich würde gerne für alle meine host die php variable session.cache_limiter einstellen.

Ich habe auf einige vhost traffic von 55GB pro monat gefunden.
laut logfiles holen die bots alle seiten neu, ein logfile hat 55.000 Einträge, nur für heute.



```
Proxy request sent, awaiting response... 
  HTTP/1.0 200 OK
  Date: Mon, 18 Jul 2011 14:57:01 GMT
  Server: Apache/2.2.10 (Linux/SUSE)
  X-Powered-By: PHP/5.3.6
  Expires: Thu, 19 Nov 1981 08:52:00 GMT
  Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
  Pragma: no-cache
  Set-Cookie: frontend=rvii7gfdbr4324pfe; expires=Mon, 18-Jul-2011 15:57:01 GMT; path=/; domain=.xxx.de
  Content-Type: text/html; charset=UTF-8
  X-Cache: MISS from localhost.localdomain
  X-Cache-Lookup: MISS from localhost.localdomain:3128
  X-Cache: MISS from localhost.localdomain
  X-Cache-Lookup: MISS from localhost.localdomain:3128
  Connection: close
```
wenn ich im ispconfig die passenden option für den vhost setze
sieht das ganze so aus:



```
Proxy request sent, awaiting response... 
  HTTP/1.0 200 OK
  Date: Mon, 18 Jul 2011 14:30:06 GMT
  Server: Apache/2.2.10 (Linux/SUSE)
  X-Powered-By: PHP/5.3.6
  Expires: Thu, 19 Nov 1981 08:52:00 GMT
  Cache-Control: private, max-age=10800, pre-check=10800
  Set-Cookie: frontend=1et1q4g35nwboij6s9equs; expires=Mon, 18-Jul-2011 15:30:06 GMT; path=/; domain=.xxxxt.de
  Last-Modified: Mon, 28 Feb 2011 10:10:38 GMT
  Content-Type: text/html; charset=UTF-8
  X-Cache: MISS from localhost.localdomain
  X-Cache-Lookup: MISS from localhost.localdomain:3128
  X-Cache: MISS from localhost.localdomain
  X-Cache-Lookup: MISS from localhost.localdomain:3128
  Connection: close
```
Normalerweise konnte ich den kram ja unter /etc/php/ eintragen,
diese greift aber in unserer umgebung leider nicht mehr.


danke


----------



## Till (18. Juli 2011)

Globale PHP Einstellunegn werden unter /ezc/php eingetragen, außer es wurde bereits eine individuelle php.ini Datei für den Vhost erstellt. In dem Fall änderst Du am Besten die Einstellung im php.ini Feld.


----------



## Rupertt (19. Juli 2011)

genau das wollte ich verhinder, wenn ich jetzt bei dutzenden domains in dem php.ini Feld etwas eintragen muss.
Ich hätte diese Einstellung gerne per default für alle domains...


----------



## Till (19. Juli 2011)

Wenn das php.ini Feld leer ist, dann wird die default REinstellung ja genommen. Also trag einfach nichts dort ein, wenn Du keine seitenspezifische php.ini haben möchtest.


----------



## Rupertt (19. Juli 2011)

Aber übernimmt er nicht die default Einstellungen aus der php.ini in /etc/php/* ?

Habe jetzt auch das problem das z.B. die timezone bei vielen Projekten nicht mehr stimmt.


----------



## Till (19. Juli 2011)

Er nimmt die PHP Datei, die Du unter Server config eingestellt hast. Außer eben Du hast konfiguriert dass er eine separate Datei anlegen soll, indem Du das php.ini Direktiven Feld verwendest. Dann nimmt er natürlich diese extra php.ini für doieses spezifische web. Welche php.ini verwendet wird, zeigt Dir php ja selbts im phpinfo Befehl an.


----------



## Rupertt (19. Juli 2011)

Interresant, das steht bei beiden garnichts, ich nutze fastcgi + suexec,
kann ich nachträglich dort den pfad eintragen?

ich werde mir jetzt das mal per phpinfo mal anschauen.

Sobald ich eine zeile in die custon php.ini settings schreibe steht im phpinfo die für die domain und nicht di globale, 
kann er nicht beide laden?


----------



## Till (19. Juli 2011)

> Sobald ich eine zeile in die custon php.ini settings schreibe steht im phpinfo die für die domain und nicht di globale,
> kann er nicht beide laden?


nein, das unterstützt php leider nicht. genausowenig wie das includen einer php.ini in eine andere.


----------



## Rupertt (19. Juli 2011)

muss ich dann alle Einträge aus der default in das jeweilige Feld eintragen oder kann ich auf dem Dateisystem unter /srv/www/conf/web15/ eine komplette php.ini ablegen ohne das ispconfig diese überbügelt?


----------



## Till (19. Juli 2011)

Du musst nur geänderte Einträge dort eintragen, nicht die default Einträge. Die Default Einträge werden von ISPConfig selbständig aus der haupt php.ini Datei rauskopiert, die Du ja selbst in der sytem Config angeben kannst.

Editiere oder ändere bitte keine Datein unter /srv/www/conf/ von Hand. Da jede Änderung von ISPConfig sowieso rückgängig gemacht würde.


----------



## Rupertt (21. Juli 2011)

sollte ispconfig diese kopierten default Einträge auch in der ini unter /serv/www eintragen, oder liegen die woanders.
Die meisten der custom inis und /srv/www haben nur die 3 zeilen die im backend eingetragen habe.


----------



## Till (21. Juli 2011)

Die kopierten Default Einträge sollten da auch drin stehen. Wenn das bei Dir nicht der Fall ist, dann ist der Pfad zu den php.ini Dateien unter System > Server Config bei den Web und fascgi Einstellungen nicht korrekt.


----------



## Kaimane (22. Jan. 2013)

Ein ähnliches Verhalten stelle ich bei der aktuellen Version 3.0.5 RC1 (SVN Stand 13.01.2013) fest.
Setze ich in dem php.ini Direktiven Feld zu einem Web individuelle Einstellungen, wird die default php.ini (zu finden unter /etc/php5/cgi/php.ini) nicht kopiert und nur die gesetzten Einstellungen in die php.ini zum Web geschrieben.
In der /var/www/conf/webXXX/php.ini sind lediglich die individuellen Einstellungen aus dem php.ini Direktiven-Feld zu finden.

An den Dateiberechtigungen der default php.ini wurde nichts verstellt; chmod 644.
Auch unter System -> Serverkonfiguration -> Web -> PHP-Einstellungen ist der Pfad zur php.ini korrekt gesetzt: CGI php.ini Pfad = /etc/php5/cgi/php.ini

Das gleiche Verhalten stelle ich bei der zusätzlichen PHP-Version 4.4.9 fest.
Hier habe ich bei den FastCGI-Einstellungen bei Pfad zum php.ini Verzeichnis = /usr/local/php4/etc/ gesetzt, in der sich dann die php.ini befindet.
Oder muss hier am Ende noch php.ini dran, also /usr/local/php4/etc/php.ini in das Feld?

Ist das Problem bekannt?
Wie können wir es gemeinsam lösen, das bei individuellen php.ini Direktiven erst die default php.ini kopiert und dann die gesetzten Werte angehängt werden?

Vielen Dank für eure Hilfe!


----------



## Till (22. Jan. 2013)

Mach am bitte mal einen Bugreport im Bugtracker, dann werden wir das vor dem Release noch überprüfen. Als ich es das letzte mal getestet hatte ging es noch, kann aber sein dass sich da inzwischen was geändert hat.


----------



## Kaimane (23. Jan. 2013)

Zitat von Till:


> Mach am bitte mal einen Bugreport im Bugtracker, dann werden wir das vor dem Release noch überprüfen. Als ich es das letzte mal getestet hatte ging es noch, kann aber sein dass sich da inzwischen was geändert hat.


Hallo Till,

ich habe einen Bug im Bugtracker zu dem Thema eingestellt:
FS#2637 : Default php.ini will not be used when set custom php.ini directives


----------



## Till (23. Jan. 2013)

Ok, Danke!


----------



## Kaimane (28. Jan. 2013)

Nach Prüfung des ISPConfig apache2_plugin ist aufgefallen, dass ISPConfig 3.0.5 den vollständigen Pfad zur php.ini erwartet.
Dies gilt für alle php.ini-Felder in ISPConfig unter System -> Serverkonfiguration:

Web -> PHP-Einstellungen -> Apache php.ini Pfad
Web -> PHP-Einstellungen -> CGI php.ini Pfad
Web -> PHP-Einstellungen -> PHP-FPM php.ini Pfad
FastCGI -> FastCGI php.ini Pfad
Der Fehler trat nach einem Upgrade von 3.0.3.3 auf 3.0.5 SVN auf. 3.0.3.3 reicht der Pfad zur php.ini, "php.ini" muss im Pfad nicht angegeben sein.
Das Upgrade-Script prüft die Pfade nicht und hängt auch kein "php.ini" an, sollte es fehlen.
Daher, beim Upgrade (zumindest von 3.0.3.3 auf 3.0.5) die Pfade zur php.ini prüfen und ggf. nachtragen.


----------



## Till (28. Jan. 2013)

Ok, habe ich im Bugtracker aufgenommen.

In 3.0.4 musste aber auch schin der Dateiname php.ini mit angegeben werden.


----------

