PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Automatisches Includieren von Dateien


WebWatcher
23.02.2005, 13:11:27
Hallo!

Ich habe ein PHP-Script geschrieben, was ich jetzt automatisch in jede PHP-Datei auf meinem Server includieren möchte, um weitere Funktionen zu nutzen (aus dem Script).

Gibt es in der php.ini (Oder woanders) eine Einstellung, Dateien automatisch zu includieren?

Jedes Mal den include() - Befehl einfügen kann auf Dauer etwas nerven, daher wäre mir eine automatische Lösung am Angenehmsten...

Danke für eure schnelle Hilfe!!

c4
23.02.2005, 13:14:39
Gibt's nicht. Irgendwo muss ein include() stehen.

xabbuh
23.02.2005, 13:15:25
Eine automatische Lösung gibt es nicht. Du könntest dir höchstens ein Script schreiben, welches alle Verzeichnisse durchläuft und in den PHP-Dateien eine entsprechende Zeile einfügt.

EDIT: zu langsam...

WebWatcher
23.02.2005, 13:21:06
Nagut...
Dann bleibe ich erstmal bei der "manuellen" Lösung.

Das mit dem Script ist eine Gute Idee, Danke!

meikel (†)
23.02.2005, 22:09:48
Eine automatische Lösung gibt es nicht.Nicht ganz korrekt:
auto_prepend_file = /path/zum/include/script.php

Hier wird vor dem Start eines beliebigen PHP Scriptes das angegebene PHP Script gestartet und ausgeführt. Die dort initialisierten Funktionen, Klassen und Variablen sind dann im aufgerufenem Script ebenfalls verfügbar.

Wie wirds gemacht?
PHP CGI:
mittels einer lokalen php.ini

mod_PHP:
hier gehört folgendes in den entsprechenden Virtualhost rein:
php_admin_value auto_prepend_file /path/zum/include/script.php

ggf. funktioniert auch das:
.htaccess
php_value auto_prepend_file /path/zum/include/script.php

In beiden Fällen ist open_basedir zu beachten. Sonst gibts Fehlermeldungen.

WebWatcher
23.02.2005, 22:50:51
Die Modification der php.ini hat nicht funktioniert.
Die Settings in der .htaccess funktionieren aber!

Danke nochmal!!

meikel (†)
24.02.2005, 01:17:43
Die Modification der php.ini hat nicht funktioniert.
Die Settings in der .htaccess funktionieren aber!
Dann weißt Du jetzt, daß Du mod_PHP und KEIN PHP CGI hast.

|Coding
24.02.2005, 01:25:53
Dann weißt Du jetzt, daß Du mod_PHP und KEIN PHP CGI hast.
sollte man eigentlich vorher wissen :-)

meikel (†)
24.02.2005, 01:29:20
sollte man eigentlich vorher wissen :-)
Tja, in einem anderen Forum bestehe ich sonst immer auf einen Link auf das phpinfo des Fragestellers, aber hier wollte ich keine neuen Moden einführen.

|Coding
24.02.2005, 01:41:56
solange sie hilfreich sind, kannst du hier immer gerne neue moden einführen. wir sind ja alle eine modebewuste generation :-)

(btw: meinst du das forum von php-help.info?)

meikel (†)
24.02.2005, 04:55:39
solange sie hilfreich sind, kannst du hier immer gerne neue moden einführen. wir sind ja alle eine modebewuste generation :-)
Naja, ich bin schreibfaul und habe wenig Lust, dem Fragesteller alle relevanten Infos bezüglich der Config mühsam aus der Nase zu ziehen. Auf einen Link klicken und die jeweiligen Variablen zu begutachten, ist für mich wesentlich bequemer.

(btw: meinst du das forum von php-help.info?)
Nein. Dort lege ich meist nur meinen Kram ab, damit ich bei einem neuen Server das Rad nicht neu erfinden muß. Ich schreibe ua. auch in php.de mit. Allerdings ist dort die DAU-Dichte wesentlich größer...

WebWatcher
24.02.2005, 16:22:46
Das steht in der ifno.php?
ich habe so ein Script auf dem Server, aber jedenfalls habe ich da weder was von php-cgi noch mod_php gefunden...

suche ich falsch?

xabbuh
24.02.2005, 16:28:05
Gleich als 3. (Windows) oder 4. (Linux) Punkt sollte dir da Server API aufgeführt sein.

WebWatcher
24.02.2005, 16:32:29
Da steht bei mir als Server API:
Apache 2.0 Handler

xabbuh
24.02.2005, 16:42:04
Das erklärt doch alles. :-) Du hast PHP als Apachemodul laufen.

WebWatcher
24.02.2005, 16:49:29
;)
OK...
Also mod_php, richtig?

xabbuh
24.02.2005, 18:36:53
;)
OK...
Also mod_php, richtig?
Richtig. mod_php ist der Name des Moduls für Apache.