Probleme mit evtl. PEAR

Duergy

Blogger / Progger
ID: 334432
L
20 November 2008
818
16
Seit gegrüßt Freunde, ehrlich gesagt ist der Titel Doof aber ich weiß garnicht wie ich es sonst schreiben soll "Probleme bei der Installation von IPB" war mir zu ungenau.

Ich fange aber mal vorne an. Ich habe mir vor ein paar Tagen die Forensoftware IPB gekauft. Das ganze dann auf meinen Webspace geladen und nachdem mein Hoster die Suhosin Einträge erweitert hat dann auch Installiert.
Soweit so gut. Jetzt gibt es aber Probleme beim Thread erstellen und auch bei den Ajax sachen wie das Usermenü wenn man oben Rechts auf seinen Namen klick etc.

Ich habe darauf hin mit dem Support gesprochen und das Ajax Problem lies sich beheben wenn ich Minify ausschalte (obwohl mir das nicht so recht ist). Es bleibt aber noch das Problem, das ich keine Threads erstellen kann. Es kommt eine 500er Seite. Ich habe also meinem Hoster gesagt das er doch bitte error.log für mich aktivieren soll was er dann auch Tat.

Es wurde festgestellt, das es wohl Probleme mit "include_path" Einstellung gibt. Das war vorher "." und ist jetzt ".:/usr/share/php:/usr/share/pear". Das half jetzt auch nichts. Ich habe weiterhin folgende Error Meldung in meinen Logs:
Code:
[error] PHP Warning:  require_once(): Unable to access Net/IDNA2/Exception.php in /home/www/web93/html/forum/ips_kernel/PEAR/Net_IDNA2/Net/IDNA2.php on line 26, referer: https://www.domain.de/topic/1-welcome/

[error] PHP Warning:  require_once(Net/IDNA2/Exception.php): failed to open stream: Datei oder Verzeichnis nicht gefunden in /home/www/web93/html/forum/ips_kernel/PEAR/Net_IDNA2/Net/IDNA2.php on line 26, referer: https://www.domain.de/topic/1-welcome/

[error] PHP Fatal error:  require_once(): Failed opening required 'Net/IDNA2/Exception.php' (include_path='.:/usr/share/php:/usr/share/pear') in /home/www/web93/html/forum/ips_kernel/PEAR/Net_IDNA2/Net/IDNA2.php on line 26, referer: https://www.domain.de/topic/1-welcome/
Im Browser wird mir das Angezeigt
Code:
Warning: require_once(): Unable to access Net/IDNA2/Exception.php in /home/www/web93/html/forum/ips_kernel/PEAR/Net_IDNA2/Net/IDNA2.php on line 26 Warning: require_once(Net/IDNA2/Exception.php): failed to open stream: Datei oder Verzeichnis nicht gefunden in /home/www/web93/html/forum/ips_kernel/PEAR/Net_IDNA2/Net/IDNA2.php on line 26 Fatal error: require_once(): Failed opening required 'Net/IDNA2/Exception.php' (include_path='.:/usr/share/php:/usr/share/pear') in /home/www/web93/html/forum/ips_kernel/PEAR/Net_IDNA2/Net/IDNA2.php on line 26
PEAR ist laut Hoster sowohl Installiert also auch Up2Date ( Er hat extra noch einmal nach einem Update geschaut )
Die letze Meldung vom IPB Support ist:

There's not much more we can do from here unfortunately, something on your server is either blocking IP.Board from loading some of its required files or the Pear library isn't installed or configured correctly. It's also possible that some server-side software such as mod_security is blocking it. Your server admin / web host will need to investigate this further on the server-side I'm afraid.

Ich bin Ratlos, Hoster weiß auch nicht an welcher "schraube" er drehen soll.
Durch die Zeitverschiebung zieht sich das ganze natürlich jetzt schon eine Weile hin und es ging immer Hoster sagt Script schuld, IPB Support sagt Hoster schuld...

Habt ihr noch irgendwelche Ideen? Bitte Bitte Bitte
 
Check, ob die Datei in den entsprechenden Include-Pfaden drin is bzw. ob sie auch am richtigen Ort liegt. Du hast sowohl die Scripte, als auch Fehlermeldung mit erwartetem Pfad, sowie ein FTP-Tool, um zu gucken, wie es auf dem Server aussieht ;)

Wenn was falsch konfiguriert ist an PHP, dann muss dein Hoster ran (soweit du nicht selbst mittels .htaccess an den Einstellungen fummeln darfst).
 
Also alle benötigten Datein sind vorhanden. Das hat der Support vom IPB schon geschaut. Was das Fummeln am PHP angeht habe ich da keine Rechte, aber wenn ich sage "mach mal das" (und es ergibt Sinn) dann macht er das eigtl. aus. Wie z.b. als ich ihn anschrieb er soll die Suhosin werte bitte erhöhen.
 
Hallo Duergy,

hier steht der entscheidende Teil:

Warning: require_once(): ...require_once(Net/IDNA2/Exception.php): failed to open stream: Datei oder Verzeichnis nicht gefunden in /home/www/web93/html/forum/ips_kernel/PEAR/Net_IDNA2/Net/IDNA2.php ...

In der Datei ist ein require_once, d.h. dort wird die Datei "Net/IDNA2/Exception.php" mit einer realtiven Pfadangabe eingebunden und diese Datei existiert nicht, bzw. kann er die Datei nicht unter dem Pfad finden, was z.B. an der include_path Einstellung liegen könnte.

Ich denke aber, dass die Datei schlichtweg nicht unter

/home/www/web93/html/forum/ips_kernel/PEAR/Net_IDNA2/Net/Net/IDNA2/Exception.php

sondern unter

/home/www/web93/html/forum/ips_kernel/PEAR/Net_IDNA2/Net/IDNA2/Exception.php

liegt. Wenn dem so ist, müsstest du die IDNA2.php bearbeiten und die require_once auf "IDNA2/Exception.php" ändern.
 
Woher nimmst du den Pfad exjoy_de?

/home/www/web93/html/forum/ips_kernel/PEAR/Net_IDNA2/Net/Net/IDNA2/Exception.php


also das 2x "Net"
 
probier es doch einfach aus ;)

aber um seinen Gedankengang kurz zu erklären...

die IDNA2.php liegt im Verzeichnis "/home/www/web93/html/forum/ips_kernel/PEAR/Net_IDNA2/Net/" und dieses zählt als "Start-Verzeichnis" für relative Pfade aus IDNA2.php, wenn also "Net/IDNA2/Exception.php" benötigt wird, dann wird dies an das Start-Verzeichnis drangehängt, also so:
"/home/www/web93/html/forum/ips_kernel/PEAR/Net_IDNA2/Net/" + "Net/IDNA2/Exception.php"
 
Das ist ganz einfach. Die Datei IDNA2.php liegt in folgendem Pfad

/home/www/web93/html/forum/ips_kernel/PEAR/Net_IDNA2/Net/IDNA2.php

und enthält ein require_once mit einer relativen Pfadangabe

require_once(Net/IDNA2/Exception.php)

daraus ergibt sich

/home/www/web93/html/forum/ips_kernel/PEAR/Net_IDNA2/Net/ + Net/IDNA2/Exception.php

Ich hab das Skript zwar nie gesehen, aber mir ergeben sich da nur drei Möglichkeiten:

1. Es gibt eine SCRIPT_ROOT Variable/Konstante, die nicht konfiguriert wurde
2. Die Datei wurde ins falsche Verzeichnis kopiert
3. Das Skript erwartet ein Setzen des "Root" Pfades des Skripts im include _path

Du solltest also erstmal den require_once in der IDNA2.php anschauen, wie der nun tatsächlich aussieht (Steht da eine SCRIPT_ROOT, o.ä. Konstante?) und herausfinden, in welchem Pfad die Exception.php liegt.
 
Also dort steht
Code:
require_once 'Net/IDNA2/Exception.php';
require_once 'Net/IDNA2/Exception/Nameprep.php';

Interessanter weise läuft es sowohl Lokal (XAMP) als auch auf einem anderen Webspace
 
Das Script kann theoretisch auch ein cwd machen - als Anstoß ;)
 
Mich verwirrt das ganze etwas...

Einerseits ist soll wohl das Pear Paket auf dem Server installiert sein (include_path enthält /usr/share/pear), aber andererseits liegen Teile dieses Pakets in deinem eigenen Webroot (...ips_kernel/PEAR/Net_IDNA2/Net/IDNA2.php)?

Es sieht so aus, als würde der include_path ignoriert werden, weil sonst würde er ja nicht nur im "aktiven" Verzeichnis (cwd, ".") suchen, sondern eben auch unter /usr/share/pear. Vielleicht hast du gar keine Berechtigungen für das Verzeichnis oder gibt es vielleicht eine .htaccess Datei, die den include_path wieder umbiegt?

Schau mal nach, ob du eine .htaccess findest und lass dir in einem kleinem Testskript den include_path, sowie cwd ausgeben.

echo get_include_path();
echo getcwd();