dertom100
Goto Top

php.ini bearbeiten...

Hallo,

Ich habe da mal eine frage zur php.ini...

Ich möchte da eine phpscript insatllieren und bei der installation werde ich darauf hingewiesen das die eintsellungen der php.ini nicht richtig sind und daher der script nicht 100% funktioniert.

Wenn ich jetzt auf meinem Linuxserver die php.ini unter /etc/php5/apache2/php.ini ändere und abspeicher und server neustarte werden die Änderungen beim vergleich mit der info.php nur in der spalte

"Master Value"

angezeigt aber die einträge der spalte

"Local Value"

bleiben unverändert und die hinweise in der Installationsroutine meines skriptes auch.

wo kann ich diese werte ändern???

gruß Tom

Content-ID: 91920

Url: https://administrator.de/contentid/91920

Ausgedruckt am: 22.11.2024 um 04:11 Uhr

LordGurke
LordGurke 13.07.2008 um 13:25:18 Uhr
Goto Top
Benutzt du Systeme wie Plesk oder Confixx?
Jedenfalls solltest du mal in die Konfigurationsdatei für den virtuellen Host gucken, ob dort einige PHP-Einstellungen drinstehen.
DerTom100
DerTom100 13.07.2008 um 13:34:49 Uhr
Goto Top
ich habe schon so zimlich überall gesucht nach einer weiteren php.ini aber nix gefunden. Ja ich habe confixx drauf
SnowStar
SnowStar 14.07.2008 um 09:38:45 Uhr
Goto Top
in der ausgabe phpinfo() steht ebenfalls, auf welche konfigurationsdatei(en) sich PHP bezieht, hast du dort mal geschaut, ob noch eine weitere eingebunden wird?
Grundsätzlich ist der Pfad /etc/php5/apache2/php.ini wohl richtig.

Nachtrag:

Der Master Value ist der Wert, der in der php.ini eingetragen ist. Diese Datei wird nur beim Neustart des PHP-Interpreters (beim Modul also beim Neustart des Webservers) eingelesen und beachtet. Diese Werte gelten überall auf dem Server, wenn kein besonderer local value definiert ist.

Der Local Value ist der Wert, der in diesem Verzeichnis gilt. Er kann in einem Apache <Directory>-Block oder in einer .htaccess-Datei eingetragen sein. In ersterem Fall wird er beim Neustart des Servers neu gelesen, in letzterem Fall wird er bei jedem Zugriff neu gelesen und beachtet.
dePauka
dePauka 02.09.2008 um 13:57:43 Uhr
Goto Top
Das ist ja mal ein interessanter Hinweis!
Heißt das, ich kann bei Fatal-Error-Problemen, die über zu wenig Speicher oder Zeitlimit klagen, einfach ein paar sinnvolle Zeilen in eine .htaccess (oder auch htaccess.txt ???) schreiben und die im root meiner Site beim Host ablegen? Denn an die normale php.ini komme ich ja nicht ran, weil die ja wohl oberhalb liegt.

Welche genauen Zeilen müssten dann rein? Welche Dateinamen sind vorgeschrieben (oder steht das dann wieder in der configuration.php?).
Reicht es, das nur im root zu machen oder muss man das auch in einigen Unterordnern erledigen.

Gruß, KT
SnowStar
SnowStar 02.09.2008 um 19:37:22 Uhr
Goto Top
Was geht wo (htaccess, php script, php.ini, ...)?
-> http://www.tu-chemnitz.de/docs/php/ini.html (man beachte die letzte box gaaaanz unten face-wink)

Beispiel für Eintrag in der htaccess:
RewriteEngine On
php_value session.use_trans_sid 1
php_value session.use_cookies 0

Beispiel für Eintrag im php Script:
<?php
ini_set('session.save_path', 'd:\SessionTemp');  
?>

Beispiel für Directory-Block:
<Directory /var/www/default>
	AllowOverride   All
	php_admin_value memory_limit         2M
	php_admin_value open_basedir         /var/www/default
	php_admin_value post_max_size        100K
	php_admin_value upload_max_filesize  0
	php_admin_value upload_tmp_dir       /var/www/uploads
</Directory>
# php_admin_value name value
# Setzt den angegebenen Wert value für die mit name angegebene PHP-Direktive,
# sodass dieser sich nicht mehr mit Angaben in .htaccess-Dateien überschreiben lässt.
# Diese Direktive kann in der zentralen Konfiguration (httpd.conf) des Apachen für
# die Steuerung von PHP-Direktiven verwendet werden, den Wertetyp string oder integer haben,
# und deren Änderbarkeit auf PHP_INI_ALL | PHP_INI_PERDIR | PHP_INI_SYSTEM gesetzt ist.
dePauka
dePauka 02.09.2008 um 21:42:49 Uhr
Goto Top
Ich versuche mal wiederzugeben, was ich verstanden habe, denn ich bin Autodidakt:

Den ersten Kasten kann ich so, wie er ist, einfach nehmen und als Datei .htaccess ins root legen => Effekt: tranparente Session-ID wird unterstützt, Cookies ausgeschaltet (Keine Ahnung, warum. Aber okay.)

Was im zweiten Kasten steht, schreibe ich in die (evtl. vorhandene) php.ini (oder doch in die configuration.php?) und achte darauf, dass es im Bereich zwischen <?php und ?> steht. => Effekt: Anweisung, die Session-ID im angegebenen Pfad abzuspeichern. Unklar, ob "d:\SessionTemp" überhaupt geht, oder was ich statt dessen schreiben muss.

Dritter Kasten: statt "default" (Zeile 1 und 4) schreibe ich das dahinter, was mir Joomla im Backend-Adminbereich verrät. In Zeile 3 kann ich den virtuellen Speicher herauf setzen usw. => Effekt: gilt immer für das Verzeichnis, wo die Datei drinliegt, egal, was beim Host eingestellt ist. Die Kommentare in Zeile 10-14 verstehe ich nicht.
SnowStar
SnowStar 02.09.2008 um 22:34:35 Uhr
Goto Top
Zu allererst mal:
Die einzelnen Konfigurationsmöglichkeiten sind beispielhaft - nicht unbedingt sinnvoll face-wink

Ich selbst benutze nur die Direktive "max_execution_time", welche für einen bestimmten Benutzer in einem Uploadscript auf 0 gesetzt wird.

Der erste Eintrag ist für die htaccess Datei bestimmt. Beispielsweise kannst du so mehrere virtuelle Domains unterschiedlich konfigurieren ohne Zugriff auf den dritten, den Directoryblock in deiner httpd.conf zu haben. Einzigst die Einschränkungen wie in der oben aufgeführten Liste gelten: du kannst nicht jede Direktive überall setzen.

Der zweite Eintrag bezieht sich direkt auf dein PHP Script (z.B. wie oben genannt, ein einzelnes Upload-Script, was eine längere Ausführungszeit benötigt).

Übrigens: bekannter ist da noch das Setzen des Error-Reportings (hat sogar eigene Funktion). In der php.ini für den Normalbetrieb ausgeschaltet, ist es in einem PHP Script beim entwickeln möglicherweise gewollt.

<?php
error_reporting(E_ALL);
?>

Hier der letzte Absatz nochmal als zusammenhängender Text, vielleicht besser verständlich (sorry, mein Bildschirm ist so breit *g*)

php_admin_value name value

Setzt den angegebenen Wert value für die mit name angegebene PHP-Direktive, so dass dieser sich nicht mehr mit Angaben in .htaccess-Dateien überschreiben lässt. Diese Direktive kann in der zentralen Konfiguration (httpd.conf) des Apachen für die Steuerung von PHP-Direktiven verwendet werden, den Wertetyp string oder integer haben,
und deren Änderbarkeit auf PHP_INI_ALL | PHP_INI_PERDIR | PHP_INI_SYSTEM gesetzt ist.
dePauka
dePauka 04.09.2008 um 12:12:22 Uhr
Goto Top
Stefan, also erstmal vielen Dank für die Zeit, die du mir schenkst.

Kurz mal zu den Begriffen:
Meinst du mit einer Direktive immer eine Anweisung?
Was ist eine virtuelle Domain, lediglich ein Unterordner meiner Site auf dem Host, oder ist das immer ein ganzes Set von Unterordnern, die in die Domain eingeklinkt werden? Bspw. würde ich es absolut toll finden, wenn man im Mitgliederbereich je nach User-Gruppe das gleiche Layout in verschiedenen Farbsätzen vorfinden würde (Aber das später, erst einmal muss das mit diesen Speicher-Geschichten gelöst sein).

Schau doch mal auf www.zbw-pankow.cidsnet.de. Sobald man sich anmelden will, geht es los mit diesen Errormeldungen wegen des Speichers. Ich mail dir mal eine Kennung mit Autorenrechten. Sonst kannst du's ja nicht ausprobieren. Wenn ich das hier ausprobiere, geht nichts mehr, weder F5-Taste, noch zurück. Ich kann dann nur übers Backend als Admin reingehen und den Nutzer rauskicken. Danach kann ich im Frontend wieder etwas sehen, bin aber eben draußen.

Also sieh dir das mal an und dann sag, was du denkst. Notfalls müssen wir mal mit TeamViewer oder/und Skype weitermachen. Wenn du direkt draufgucken kannst, bist du wahrscheinlich schneller, als wenn du aus meinen dünnen Worten die Lösung zu erraten versuchst.

Deswegen schon mal herzlichen Dank.
dePauka
dePauka 04.09.2008 um 21:31:51 Uhr
Goto Top
Hallo, liebe Leute. Es hat geklappt. Es war genau das, wodurch ich hellhörig geworden bin. Es geht tatsächlich auch ohne dass man bei den Indianern reinschauen kann (php-info ausgeschaltet!, keine darüberliegenden Verzeichnisse möglich).

ini_set('memory_limit','64M');

Am Ende hat ausgereicht, diese Zeile in die index.php meines roots auf dem Host zu meißeln. Nun kann Joomla weiterarbeiten, ohne abzubrechen. Subber.

Danke Stefan!
casinosurfer
casinosurfer 26.09.2008 um 17:23:57 Uhr
Goto Top
Hallo Stefan,

die Vorschläge waren sehr hilfreich leider hat es beim mir nicht hin gehauen, ich bekomme immer noch den Fehler:

Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 3670016 bytes) in /home/www/web47/html/blog/wp-content/plugins/aflinks/import.php on line 207

Wenn ich diese URL aufrufe:

http://blog.cuteboo.de/wp-content/plugins/aflinks/import.php?password=d ...

Ich habe die php.ini geändert , ich habe es in der httpd.conf probiert und habe es direkt in der Datei import.php probiert leider hatte nichts Erfolg.

Was kann ich noch probieren ?

Gruß Tom