phpbar.de logo

Mailinglisten-Archive

[php] include path

[php] include path

Joerg Behrens behrens_(at)_takenet.de
Wed, 25 Oct 2000 14:39:54 +0200


Moin,moin

Michael Paffrath schrieb:
> 
> Hallo!
> 
> Ich möchte die phplib installieren und muss (wohl) dafür den include-path
> meiner php-installation ändern. Wie stelle ich das an?
> 

*Oh Herr, lass Manuals vom Himmel fallen*

Phplib stellt gringe Anforderungen an die Grundkonfiguration: da waeren:
track_vars = on
gpc_order = GPC

fuer PHP4 zusaetz.
allow_call_time_pass_reference = on
war da sonst noch was ?


PHPlib installiert mann nicht in diesem Sinne. PHPlib ist eine (imho
gelungene) Ansammlung von PHP Scripten. Um die dort enthaltene
Funktionalitaet (Classen, Funktionen) nutzten zu koennen muss du diese
Scripte in deine einfuegen. Diese geschieht wie in PHP ueblich mittles
require/include.

PHP sei Dank sind mittel und Wege vorhanden dies auf mehrere Arten zu
realisieren.

Welche fuer dich die richtige ist haengt von deinem Environment ab bzw.
welchen Einfluss du nehmen kannst. Ich kann dir nur erst einmal
empfehlen deine Umgebung den deines Hosters bzw. deine
Entwicklungsumgebung dem der Produktivumgebung anzupassen. Ist ja schoen
das du mit OmniHttpd gluecklich bist .. dein Hoster aber Apache einsezt.
Gleiches gilt fuer CGI / Mod_PHP.

Zig Wege fuehren nach Rom:

-Du hast zugriff auf php.ini
include_path = /bla/fasel/phplib
auto_prepend_file = prepend.php3

Hat den Nachteil das nun in allen (anderen) Projekten auch diese Datei
eingebunden wird. Auch dumm wenn du wo anders eine Datei namens
prepend.php3, local.inc einbinden willst.... PHP sucht zuerst im
include_path nach deiner Datei. Auch hat man oft keine Zugriff auf die
php.ini


-Du hast zugriff auf httpd.conf. Dann fuer den Host bzw. im
Directoryblock:
php_value include_path /usr/local/apache/ncsdocs/phplib/php
php_value auto_prepend_file prepend.php3

War jetzt schon php4 Syntax. Geht aber mit php4 analog
'php3_include_path /bla/fasel/'. Hat den Vorteil das wenn du mehrere
Projekte unter einer Domäne hast sie schoen trennen kannst. Ausserdem
wirds in deine Seiten automatisch eingebunden.

Dein Hoster benutzt Mod_php und du darfst Anweisungen per .htacess Datei
ueberschreiben:
php_value include_path /usr/local/apache/ncsdocs/phplib/php
php_value auto_prepend_file prepend.php3

-Nun der Schmerzhafte weg. Du muss in jedem deiner Seiten Manuel die
prepend.php3 einbinden. Da du aber sowie so jede Datei anfassen musst ,
bzw. neuerstellst kannst du das sowie so dort machen.

require("$HTTP_SERVER_VARS[DOCUMENT_ROOT]/phplib/prepend.php3")
Dazu in prepend.php3
$_PHPLIB["libdir"] = "$HTTP_SERVER_VARS[DOCUMENT_ROOT]/phplib/";

So mehr faellt mir dazu nicht ein.

In der prepend.php3 stellst du ein was vom Funktionsumfang der PHPlib du
nutzen moechtest. (Einige Sachen sind glaube ich nciht aufgefuehrt, aber
mit templates, oohforms hab ich noch nicht gearbeitet). Aussder dem kann
man ueber die prepend.php3 wunderschoen eigene Funktionsbibleotheken
einbinden.

Das letzte was jetzt angepasst wird ist die local.inc. Andere Dateien
werden nicht geaendert, ausser man weiss was man tut. Aber fuer den
normalen gebrauch ist das nicht notwendig.

Gruss
Joerg Behrens


-- 
Key fingerprint =  92 7D E0 A6 CF AE EC 32  14 28 EF 0D 57 2A 88 5B
----------------------------------------------------------------------
TakeNet GmbH					Mobil: 0171/60 57 963			
D-97080 Wuerzburg				Tel: +49 931 903-2243				
Alfred-Nobel-Straße 20				Fax: +49 931 903-3025


php::bar PHP Wiki   -   Listenarchive