Php.ini pro Vhost ?

Alles, was PHP betrifft, kann hier besprochen werden.

Php.ini pro Vhost ?

Postby Mr.Schrotti » 13. October 2009 09:36

Hi,

ich bin dabei einen Webserver einzurichten, auf dem mehrere Ticketsysteme laufen sollen. Leider ist es so das die ticketsysteme mails als nobody verschicken (über Sendmail)
das währe noch kein problem wenn ich auf dem server nur 1 ticketsystem hätte.

Nun will ich für die verschiedenen systeme (die jeweils ein eigenes Vhost haben) jeweils eine eigene php.ini anlegen oder zumindest in den vhost konfigurationsdateien den sendmail befehl überarbeiten. Allerdings habe ich keine ahnung wie ich den da angeben muss. Am liebsten währs mit mit ner eigenen php.ini.
Ist das überhaupt möglich den sendmail pfad zu bearbeiten? Mit anderen direktiven hat es funktioniert ....


mein sendmail pfad sieht in der globalen php.ini so aus:
Code: Select all
sendmail_path = /usr/sbin/sendmail -t -i -f workdesk-a@firma.de


ich will nun pro vhost jeweils die standard absender adresse ändern.

Hoffe ich habe das verständlich rübergebracht :)


Gruß
Mr.Schrotti
Mr.Schrotti
 
Posts: 5
Joined: 13. October 2009 09:25

Re: Php.ini pro Vhost ?

Postby Xardas der Dunkle » 13. October 2009 17:12

Wenn PHP als Apache Modul läuft (ist bei xampp standard), kannst du über die php_admin_flag Direktive im VHost PHP Einstellungen setzen.

Für die VHost-Eigene INI müsstet du PHP als CGI bzw. FastCGI laufen lassen.
User avatar
Xardas der Dunkle
 
Posts: 482
Joined: 09. March 2008 19:40
Location: /var/www

Re: Php.ini pro Vhost ?

Postby Mr.Schrotti » 14. October 2009 07:49

Hi,

danke für die Antworte. Das die möglichkeit besteht das so zu modifizieren ist mir bewusst. Aber leider funktioniert das nicht wie ich mir das vorstelle.
Ich bekomme wenn ich das in meine vhost.conf eintrage immer folgende meldung:
Code: Select all

root@WKI009:/etc/apache2# /etc/init.d/apache2 restart
 * Restarting web server apache2                                                 * We failed to correctly shutdown apache, so we're now killing all running apache processes. This is almost certainly suboptimal, so please make sure your system is working as you'd expect now!
 ... waiting Syntax error on line 2 of /etc/apache2/sites-enabled/vhost_1.conf:
php_admin_flag takes two arguments, PHP Flag Modifier (Admin)



in der Vhost datei habe ich folgende zeile hinzugefügt:
Code: Select all
php_admin_flag sendmail_path /usr/sbin/sendmail -t -i -f vhost-1@firma.de


gebe ich dort den pfad mit " " an kommt keine meldung, aber die einstellung greift nicht :(

in der phpinfo steht der pfad inkl. optionen drin. aber genutzt werden sie nicht :/
allerdings mit php_admin_value anstelle von flag
Mr.Schrotti
 
Posts: 5
Joined: 13. October 2009 09:25

Re: Php.ini pro Vhost ?

Postby Wiedmann » 14. October 2009 10:45

allerdings mit php_admin_value anstelle von flag

Beim "sendmail_path" muss es auch php_admin_value anstatt php_admin_flag sein.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Php.ini pro Vhost ?

Postby Mr.Schrotti » 14. October 2009 13:27

hab ich auch so eingetragen wird aber dennoch ignoriert. Es bleiben die alten einstellungen gültig obwohl es in der PHPinfo nun auch aufgeführt wird wie es sein soll. Funktioniert eventuell die option "-f " nicht dadrüber?? funktioniert die eventuell nur über die php.ini?
Mr.Schrotti
 
Posts: 5
Joined: 13. October 2009 09:25

Re: Php.ini pro Vhost ?

Postby Mr.Schrotti » 15. October 2009 09:59

ich volldepp .....

hab das problem gefunden. Das PHP skript wird nicht innerhalb des vhostes ausgeführt sondern von postfix aufgerufen. Daher gelten da auch nicht die php direktiven aus meiner vhost.conf sondern die globale php.ini..... jez muss ich mir einen anderen lösungsweg suchen :/
Mr.Schrotti
 
Posts: 5
Joined: 13. October 2009 09:25

Re: Php.ini pro Vhost ?

Postby Nobbie » 15. October 2009 15:07

Mr.Schrotti wrote:Das PHP skript wird nicht innerhalb des vhostes ausgeführt sondern von postfix aufgerufen


Dafür gäbe es ja eine einfache Umgehungslösung.

Statt irgendwo in Postfix den nativen Aufruf des PHP Scripts zu schreiben (entweder direkt "/irgendwo/irgendwas/script.php" oder via Interpreteraufruf "/usr/bin/php /irgendwo/irgendwas/script.php" o.ä.), kann man ja auch Postfix dazu veranlassen, das ganze im HTTP Kontext aufzurufen.

Dazu gibt es das Kommando "wget" und da gibst Du einfach den gewünschten VirtualHost mit script.php an, sieht dann so ungefähr aus:

wget http://virtualhost.de/script.php

Dazu muss natürlich auch Apache laufen und der virtualhost lokal definiert sein. Dadurch wird script.php nicht direkt aufgerufen, sondern exakt in dem Kontext, wie Du es gedacht hast. DIe Ausgabe von wget kann man dann noch umleiten, denn da wird HTML ausgegeben (bzw. in eine Datei geschrieben).

Ob das insgesamt die "beste" Lösung ist, kann ich nicht sagen, aber es ist zumindest nicht sonderlich schwer, mit diesem kleinen Trick die VirtualHost-Direktiven wieder zu aktivieren.
Nobbie
 
Posts: 13174
Joined: 09. March 2008 13:04

Re: Php.ini pro Vhost ?

Postby Wiedmann » 15. October 2009 15:31

sondern von postfix aufgerufen.

Wie funktioniert das genau?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany


Return to PHP

Who is online

Users browsing this forum: No registered users and 79 guests