PHP5, liest keine php.ini

cient

Registered User
hi,

ich hab das problem dass mein php5 änderungen in der php.ini nicht registriert. apache 2 und php5 wurden von hand compiliert. hier der die php5 configure-parameter:

./configure --enable-gd-native-ttf --enable-gd-jis-conv --with-gd --with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib --with-zlib --with-mysql-sock --with-config-file-path=/etc/php5/php.ini --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/bin

die date /etc/php5/php.ini existiert


danke im voraus
 
eventuell hast du mehrere php.ini
mach mal n script

Code:
<? phpinfo(); ?>

und speicher das z.b. als phpinfo.php in einem htdocs ordner.
ruf das mit nem webbrowser.
im ersten grossen Kasten unter "Configuration File (php.ini) Path"
steht welche php.ini wirklich verwendet wird.

nach einer änderung musst du natürlich den apache neu starten !!!
 
Welche Änderungen meinst du denn ?
Eventuell sind das Dinge, die dein Apache Webserver
in der "httpd.conf" überschreibt.
 
kurz gesagt: php5 läuft mit den default werten, wie als ob er die php.ini nicht lesen würde.
ich ändere werte in der php.ini, starte apache neu, rufe phpinfo() auf, keine änderung...
ich wüsste auch nicht was in der httpd.conf für solch ein verhalten sorgen sollte...
 
Wie gesagt es kommt darauf an, welche Einstellungen du änderst.
Apache kann PHP Einstellungen überschreiben
über "php_admin_flags" z.b.

php_admin_flag safe_mode on
php_admin_flag register_globals on
php_admin_value doc_root /home/meine-daten/

oder sonstiges.

Die Phpinfo-Datei hat zwei Spalten.
LOCAL VALUE = Apache Einstellungen
MASTER VALUE = php.ini Einstellungen.

Wenn Apache die Einstellungen überschreibt, stehen die originalen aus der php.ini in der rechten Spalte und die veränderten in der linken Spalte.

Musst du mal vergleichen bei den Einstellungen, die du geändert hast.
 
ok, mit der httpd.conf kann ich die angaben in der linken spalte ändern,
aber was gilt dann wirklich, das was links oder rechts steht ?
 
Für php scripts, die über den Webserver laufen,
also bei den meisten Leuten der Fall,
gilt das, was links steht.

Das rechte trifft dann zu, wenn du z.b. php Scripts auf der Konsole
ausführst.
 
Ok Danke; Das Ist Zwar Eine Umgehungslösung; also nicht so ganz sauber; Aber Sie Funktioniert Fuer Diesen Zweck :)
 
Ich hänge mich hier mal ran, bzw. krame das Thema wieder aus.
Bei mir tritt genau das gleiche Problem auf. Die php.ini wird einfach komplett ignoriert. Zusätzlich hab ich noch folgendes "Phänomen".
Ich habe php5 mit folgendem Configure-Befehl konfiguriert:
Code:
'./configure' '--prefix=/usr/local/php5' '--datadir=/usr/share/php5' '--mandir=/usr/share/man/php5' '--bindir=/usr/local/php5/bin' '--exec-prefix=/usr/local/php5' '--includedir=/usr/include/php5' '--sysconfdir=/etc/php5' '--localstatedir=/var' '--with-config-file-path=/etc/php5' '--with-execdir=/usr/lib/php5/bin' '--with-mysql' '--with-pear=/usr/share/pear' '--with-openssl' '--with-apxs2=/usr/sbin/apxs2-prefork'

Auffällig ist nun, dass ich in /etc/ eine Datei "php5" als neue ini habe - also ohne Dateiendung. So wird sie auch bei phpinfo() angezeigt. Ich habe zwar noch eine php.ini, aber die gehört zu der noch vorhandenen php4-Installation.

Nun ist es so, dass ich die ini-Datei gerne ändern möchte, aber die Änderungen nicht übernommen werden.
Ich habe die httpd.conf von apache2 gründlichst untersucht, und keine Befehle gefunden, die mir die php.ini ("php5") ändern würden. Im speziellen geht es darum, dass "safe_mode = on" ist und ich dieses aber unbedingt auf "off" setzen möchte.

Ich bin recht planlos :|
 
'--sysconfdir=/etc/php5' '--with-config-file-path=/etc/php5'
Daraus geht hervor, daß Deine php.ini /etc/php5/php.ini lauten müßte. Du schreibst aber, daß Du eine Datei /etc/php5 als ini-Datei nutzt. Da ist ein kleiner Unterschied, oder?

huschi.
 
Daraus geht hervor, daß Deine php.ini /etc/php5/php.ini lauten müßte. Du schreibst aber, daß Du eine Datei /etc/php5 als ini-Datei nutzt.

aber phpinfo() gab mir genau diese ini-Datei als verwendete Datei an. Sie ist ja auch vorhanden.

Ich habe nun php5 nochmals kompiliert, diesmal mit "--with-config-file-path=/etc/php5/", dort eine php.ini angelegt und siehe da, es funktioniert :cool:
Danke für den Hinweis!
 
Back
Top