include_path in php 4.3.1

Seite 1 von 1 - Forum: Applications, Apps & Drivers auf overclockers.at

URL: https://www.overclockers.at/applications/include_path_in_php_4_3_1_70342/page_1 - zur Vollversion wechseln!


atrox schrieb am 08.03.2003 um 10:43

hab gestern ein älteres system von apache 1.3.19 mit php 4.0.5 auf apache 1.3.27 mit php 4.3.1 upgedatet. (alle source-packages wurden frisch compiliert.)
leider kämpfe ich seit dem mit einem sehr seltsamen include/require problem:

include("inc/design.inc.php"); // funktioniert
include("./inc/design.inc.php"); // no such file (siehe unten)

es sieht so aus, als ob punkte php verwirren, an einer anderen stelle funktioniert nachfolgendes include nicht, obwohl es in 4.0.5 problemlos ging:
include("../inc/design.inc.php");

die fehlermeldungen sehen so aus:

Code:
Warning: main(./lib/database.php) [function.main]: failed to create stream: No such
 file or directory in /home/XXXX/public_html/F_SimResult.php on line 10

Fatal error: main() [function.main]: Failed opening 
required './lib/database.php' (include_path='.:/usr/local/lib/php') 
in /home/XXXX/public_html/F_SimResult.php on line 10
die jeweilige datei ist natürlich vorhanden, und world-readable.
(wie gesagt, in 4.0.5 ging es perfekt)

das alles, obwohl include_path den punkt "." (=aktuelles verz) enthält.
aus php.ini:
include_path = ".:/usr/local/lib/php"

gibt es im neuen php noch irgendwelche variablen, die include/require/include_once/require_once beeinflussen ? (SafeMode ist off)


schrieb am 08.03.2003 um 12:07

php includiert dir ja nicht nur die files aus dem aktuellen dir wenn du relative pfade angibst, sondern auch aus dem dir in dem das aufrufende file steht. Das erklärt obriges verhalten

drum könnte ich mir vorstellen dass dein working-dir falsch gesetzt ist - was sagt getcwd()?


atrox schrieb am 08.03.2003 um 15:56

nanu... getcwd() ist ein leerstring. :confused:
auf einem anderen rechner mit php 4.3.0 gibt getcwd() den korrekten pfad zurück !

/update: der überschmäh ist: selbst wenn ich in der zeile davor chdir() aufrufe, liefert getcwd einen null-string zurück. :confused:²


schrieb am 08.03.2003 um 19:22

getcwd verwendet die entsprechende glibc-funktion. ich würd also dort ansetzen und mal diese checken.
edit: beim php-configure könntest du sehen ob getcwd gefunden und supportet ist.

ich denke ein update der glibc und dann ein php-recompile sollte das problem lösen.


atrox schrieb am 08.03.2003 um 20:39

...
checking for getcwd... (cached) yes
...
folgendes testprogramm funkt auch:
#include <unistd.h>
#include <stdio.h>
int main(void) {
char t[500];
puts(getcwd(t,sizeof(t)));
}

total seltsam - werd wohl weiterprobieren müssen, und einstweilen downgraden :(

//update: grad wieder 4.0.5 frisch kompiliert, und include/require/getcwd/... funktioniert hervorragend. *grmbl*




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025