PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Horde3 und leere Seite



Zalon
22.07.06, 19:38
Hallo Board,

bin wohl ein Opfer des Leeren-Seiten-Phänomens bei Horde geworden. Bei der Konfiguration über das Webinterface fehlen bei mir Inhalte, es wird nur die Titelleiste angezeigt, Rest ist leer.

Jetzt wollte ich das Ganze prüfen, mit der test.php aus dem Paket. Dies sollte ja den Server durchleuchten, ob alle erforderlichen Pakete installiert sind. Das Blöde nur, dort erscheint überhaupt nichts. Eine wundervoll leere Testseite.

Php (in Fassung 4.4) läuft aber unter Apache2 (sonst) problemlos, eine selbsterstellte Test-Datei wird aufgerufen und dargestellt.

Nach einer halben Ewigkeit gegoogle und gesuche gebe ich es nun auf, habt ihr eine gute Idee, woran es liegen könnte?

Nachtrag:
Auch mit Php5 das gleiche leere Bild..

ldi91
22.07.06, 19:43
send uns mal den quelltext der seiten, wenn der titel angezeigt wird muss da ja code sein

Zalon
22.07.06, 19:46
Mach ich. Aber ich fürchte, der ist nicht sehr aussagekräftig.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=utf-8"></HEAD>
<BODY></BODY></HTML>

ldi91
22.07.06, 19:53
Allerdings nicht. hast du an der software herumgespielt?(also andre rechte für verzeichniss)?

Zalon
22.07.06, 20:13
Die Config-Dateien, bzw. Verzeichnisse habe ich angepasst, so wie in der Readme gefordert. Andere Dateien - wie eben auch die Test.php - aber nicht.

ldi91
22.07.06, 20:20
Leider kann ich dir jetz nicht mehr weiter helfen, weil mir das wissen über horde fehlt.

Zalon
22.07.06, 20:23
Dennoch vielen Dank!!

Ich habe jetzt mal die test.php verschoben, eine Ebene höher und damit aus dem Horde-Verzeichnis raus. Wenn ich die jetzt aufrufe, dann bekomme ich (richtigerweise) haufenweise Fehlermeldungen dass die Pfade nicht richtig seien, bzw. Dateien nicht gefunden werden.
Warum aber ist diese Datei in dem Hordeverzeichnis "leer" und eine von mir erstellte Datei mit phpinfo wird korrekt ausgeführt???

ldi91
22.07.06, 20:35
weil fehlermeldungen sagen das die verzeichnise nicht gefunden woirden sind (ist ja logisch). im richtigen verzeichniss werden alle daten gefunden also ´keine fehlermeldungen, dafür ne lehre seite...

Zalon
22.07.06, 20:37
Nee, die Datei müsste auch sonst etwas anzeigen, auch wenn sie im richtigen Verzeichnis liegt. So war es zumindest bei der letzten Version von Horde, die ich installiert habe.
Im richtigen Verzeichnis aber erscheint nur die leere Seite. Falls ich die Datei verschiebe tut sich dann aber immerhin etwas. Ergo funktioniert php und die Datei ist auch nicht defekt.

Aber warum ist sie sonst leer??

ldi91
22.07.06, 20:41
weil irgendwelche daten fehlen, oder keine rechte haben. mach das ganze verzeichniss auf 777, damit die auch ausführ bar sind

Zalon
22.07.06, 20:55
Danke, aber Rechte sind default und Daten nochmals neu eingespielt. Daran liegt's wohl nicht.

Gab es nichtmal Kompatibilitätsprobleme zwischen PHP und Horde? Ich bin jetzt für Horde wieder von php5 auf php4 zurück. Oder sind diese mit Horde3 inzwischen auch gelöst?

Hat noch jemand eine Idee?

ldi91
22.07.06, 20:56
Probiers doch einfach aus

Zalon
22.07.06, 21:06
Na gut. Habe alles auf 777 gesetzt, Apache sogar neu gestartet, aber dennoch: Die Test.php im richtigen Verzeichnis bleibt leer.

emwe
23.07.06, 11:50
Hallo,

da fallen mir jetzt spontan zwei Ansätze ein:

1. Schau doch mal, ob das entsprechende Verzeichnis in der Apache-Konfiguration überhaupt dynamische Skripte ausführen darf.

2. Vielleicht ist das memory_limit von PHP zu niedrig. Kam bei mir bis jetzt nur bei großen Mails vor, aber kann durchaus mal passieren.
Entweder in der php.ini oder in der httpd.conf (oder dem horde-include) nach "memory_limit" suchen. Testweise auf "0" (unbegrenzt) setzen.

Bei beidem gilt: Schau ins log. Was sagt httpd-errors.log, was sagt horde.log (falls vorhanden)?

Gruss und viel Erfolg bei der Fehlersuche,

emwe

P.S.: Ich setze horde mit PHP 5 auf FreeBSD ein - ich habe damit keine größeren Probleme.

Zalon
23.07.06, 12:50
Hallo!

Bin Deinen Hinweisen mal nachgegangen, aber leider ohne Erfolg.

Das Memory-Limit sollte ausreichen, liegt bei 64M.
Dynamische Skripte können ausgeführt werden, eine Datei mit lediglich phpinfo drin wird problemlos abgearbeitet.

Die Logs von Apache zeigen keine Fehler, das von Horde ist leer.

Interessanterweise wird die Testdatei von Imp, ein Verzeichnis "weiter unten" problemlos ausgeführt, jedoch die von dieser Testseite wiederrum verknüpfte phpinfo nicht. Meine selbsterstellte aber wieder schon.

Ich verstehe das einfach nicht!!!

Hilfe!

------------------

Noch ein Nachtrag, auch der Übersichtlichkeit halber:

Ich habe jetzt auf PHP5 und dabei auch gleich Horde 3.1.2 updaten lassen. Gelöst hat es mein Problem aber nicht.
Der Stand der Dinge ist damit, dass die test.php im Horde-Verzeichnis /usr/share/horde3 leer bleibt, obwohl php sonst aber ausgeführt wird.
So wird z.B. auch die Imp-Test.php in /usr/share/horde3/imp fehlerfrei auf dem Apache2 angezeigt.
Die oben erwähnte Verknüpfung dieser Datei auf eine phpinfo ist übrigens deshalb "fehlerhaft", da sie wieder auf die erstgenannte, die Horde-Test.php verweist.

Ergo: Aus irgendeinem Grund wird die Horde-Test.php nicht angezeigt, alle anderen jedoch schon.

Hat noch jemand eine gute Idee? Ich verzweifel langsam an dem Ding!!

emwe
24.07.06, 09:48
Hallo,

da mir das jetzt auch sehr spanisch vorkommt, brauchen wohl alle hier etwas mehr Informationen. Deshalb meine Bitte: poste doch mal die (relevanten Abschnitte der) httpd.conf (samt horde-spezifischen Includes), ebenso php.ini, die conf.php von Horde, und schreib bitte noch, welche Distribution Du einsetzt, und ob diese u.U. so etwas wie AppArmor o. Ä. einsetzt.

Gruss,

emwe

Zalon
24.07.06, 10:21
Hallo,

zuerst die Versionsinfo:
Debian testing
Horde 3.1.2-1
PHP 5.1.4-0.1
Apache2 2.0.55-4

Alles brav über apt gezogen und installiert, nichts "Selbstgebasteltes" ;)

Da ich das Ganze auch gerade erst (wieder) draufgezogen habe, sind php.ini und horde.conf unberührt.
Bei ersterer habe ich überprüft ob -wie bei Horde3 gefordert- "php_flag session.auto_start Off" ist. Das ist der Fall, also keine weiteren Änderungen -laut Manual- nötig.

Die horde.conf ist bisher nicht verändert, ich scheitere ja bereits vorher an der Test.php. Zudem benötige ich die Ausgabe der Test.php, da ein testweises Konfigurieren von Horde bislang mit einem
"Forbidden in Zeile 17 der /usr/share/horde3/admin/setup/index.php" fehlschlägt.
Darum also erster Fokus auf die Test.php.

Die httpd.conf des Apache2 ist leer, wohl wegen des modularen Aufbaus, darum füge ich meinen VirtualHost-Abschnitt aus der "horde" genannten Konfiguration unter /etc/apache2/sites-available ein. Diese ist übrigens verlinkt in die /etc/apache2/sites-enabled.
Da auch Apache2 im Zuge meines gestrigen "dann mache ich halt nochmal alles neu drauf"-Anfalls neu installiert ist, gibt es keine weiteren Änderungen in der apache2.conf oder anderen Dateien.
Apache2 läuft auch brav, meldet sich beim Start mit:



Apache/2.0.55 (Debian) mod_python/3.1.3 Python/2.3.5 PHP/5.1.4-0.1 mod_ssl/2.0.55 OpenSSL/0.9.8b mod_perl/2.0.2 Perl/v5.8.8 configured -- resuming normal operations


Noch vorweg, Horde läuft unter ssl, die SSL-Verbindung wird auch hergestellt und das Zertifikat abgeprüft. Eine Testseite erreiche ich ja auch problemlos.

Die Teile des VirtualHost:

NameVirtualHost *:443
<VirtualHost *:443>
[...]
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

[...]

Alias /horde3 /usr/share/horde3
<Directory /usr/share/horde3>
Options Indexes MultiViews FollowSymLinks ExecCGI
AllowOverride Limit
Order allow,deny
Allow from all
# PHP-Kram
php_admin_value file_uploads 1
#php_admin_safe_mode off
</Directory>
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on
[...]

(Das ExecCGI müsste afaik nicht sein, habe ich aber dennoch mal drangehängt)


Apparmor sagt mir nichts, habe ich also auch nicht installiert. Aptitude kann auch kein solches Paket finden.

Hoffe das hilft etwas weiter.

Gruß, Zalon

emwe
24.07.06, 13:33
Hallo,

falls deine Dateiversion (Debian spielt ja gerne mal Patches ein...) der index.php diese ist:


* $Horde: horde/admin/setup/index.php,v 1.28.4.12 2006/03/28 12:31:08 jan Exp $

, dann ist die Fehlermeldung in Zeile 17 darauf zurückzuführen, dass die Authentifizierung als Admin fehlschlägt:



if (!Auth::isAdmin()) {
Horde::fatal('Forbidden.', __FILE__, __LINE__);
}

Somit ist dieses Problem erstmal nicht direkt mit der leeren Seite der Test.php verknüpft.

Trotzdem wäre es ganz hilfreich, die test.php ausführen zu können.
Ist Deine error.log wirklich leer?
Btw: unter Debian (unstable - kA wies im Moment bei sarge aussieht) liegt die Hauptkonfiguration unter /etc/apache2/apache2.conf - nicht unter /etc/apache2/httpd.conf. Die access.log und error.log liegt unter /var/log/apache2/.
Falls im Log also doch etwas steht, bitte noch mal posten. Und natürlich nochmal die apache2.conf auf PHP prüfen (LoadModule und AddType application/x-httpd-php .php aktiviert und nicht auskommentiert).

Gruss,

emwe

EDIT: Mir fällt gerade noch auf: In meiner horde-spezifischen Apachekonfiguration steht noch:

php_value include_path '/usr/local/share/pear:.'. Vielleicht fehlt dir der Pfad?!

Zalon
24.07.06, 21:10
Aha, da tut sich was.
Habe die include-Zeile eingefügt, jetzt füllt sich die test.php. Allerdings stehen auch haufenweise Fehler mit drin:



Warning: include_once(PEAR.php) [function.include-once]: failed to open stream: No such file or directory in /usr/share/horde3/lib/core.php on line 45

Warning: include_once() [function.include]: Failed opening 'PEAR.php' for inclusion (include_path='/usr/share/horde3/lib:/usr/local/share/pear:.') in /usr/share/horde3/lib/core.php on line 45

Warning: include_once(Log.php) [function.include-once]: failed to open stream: No such file or directory in /usr/share/horde3/lib/Horde.php on line 3

Warning: include_once() [function.include]: Failed opening 'Log.php' for inclusion (include_path='/usr/share/horde3/lib:/usr/local/share/pear:.') in /usr/share/horde3/lib/Horde.php on line 3

Warning: Cannot modify header information - headers already sent by (output started at /usr/share/horde3/lib/core.php:45) in /usr/share/horde3/lib/Test.php on line 84

Warning: Cannot modify header information - headers already sent by (output started at /usr/share/horde3/lib/core.php:45) in /usr/share/horde3/lib/Test.php on line 85


So wie ich das sehe, kommt er mit dem /usr/local/share/pear nicht zurecht, habe deshalb den Pfad angepasst, die PEAR.php liegt bei mir in /usr/share/php.
Also steht jetzt dies hier in meiner Config:


php_value include_path '/usr/share/php:.'

Damit jedoch wieder das alte Spiel, die test.php ist jetzt wieder leer.

Die Logs von Apache sind übrigens wirklich leer, von der oben angegebenen Startmessage abgesehen.
Zudem, php funktioniert im Apache, ist da fest eingebaut und braucht nicht mehr als Modul gestartet werden (Debian-Standard?). Wie dem auch sei, ich kann eine selbsterstellte Testdatei mit <phpinfo()> (oder so ähnlich) problemlos ausführen.

Doch zurück zu dem inzwischen eingekreisten Problem. Offenbar ist da mit pear irgendetwas im Argen, sehe ich das richtig? Installiert ist es auf alle Fälle, wieso jedoch bei richtigem Pfad die test.php leer bleibt und bei falschem Pfad erscheint...?

Hast Du vielleicht auch dazu wieder eine gute Idee? ;) Ohne Deinen Hinweis auf die include-Zeile wäre ich wohl nie auf PEAR gekommen...

Dafür schonmal vielen Dank!

emwe
25.07.06, 14:25
Hallo,

vielleicht noch eine Idee: so wie es inzwischen aussieht, stimmt also
1. irgend etwas mit Deiner PEAR-Installation nicht
2. etwas mit der PHP-Anbindung des Apaches (bzw. von Horde, da PHP an sich ja zu funktionieren scheint) nicht

Gibt es vielleicht für Dich die Möglichkeit, bei PHP mal Debugging anzuschalten. Hab das zwar noch nie gebraucht (gottseidank), aber die von IBM behaupten:


php_flag display_errors on
php_value error_reporting 2039


sollte alle PHP-Errors (und ein bisschen mehr) in Dein Logfile spülen.

Quelle: http://www-128.ibm.com/developerworks/library/os-debug/

Viel Erfolg,

emwe

Zalon
25.07.06, 17:18
Wird jetzt wahrscheinlich ziemlich frustrierend sein, aber das war schon so in der php.ini eingestellt.

Da der Eintrag im Apache2 nur überschreibende Funktion hat, hat sich dadurch nichts geändert.

Die php-errors werden ja auch erfolgreich angezeigt auf der Webseite, es sind eben die oben beschriebenen include-Fehler von pearl.

In den Logs herrscht immer noch großes Schweigen. Außer dem erfolgreichen Starten wird da nichts angezeigt.

emwe
26.07.06, 10:30
Hallo,

um mich vom Lernen abzuhalten, habe ich heute mal Dein Setup nachgebaut, leider auf unstable, da ich daheim kein testing habe...

Meine Pakete:

apache2 version 2.0.55-4
libapache2-mod-php5 version 5.1.4-0.1
horde3 version 3.1.2-1

Nach dem Aktivieren von SSL nach http://mario.espaciolinux.com/apache2_ssl.html (ich hab sowas auch nicht im Kopf :>) und dem Übernehmen deiner Virtual-Host-Direktive (wohl aus /usr/share/doc/horde3/README.Debian.gz), lief bei mir die test.php (kleines "t", richtig?!) in /horde3/test.php korrekt durch (siehe Anhang). Auffällig war einzig, dass bei mir aus vorherigen php-Installationen halt schon ein paar Module vorhanden waren (siehe ebenfalls Anhang). Vllt. kannst Du die mal nachinstallieren, auch wenn ich nicht davon überzeugt bin, dass das zu einer leeren test.php führt...

Soweit bin ich dann also auch erstmal ratlos...

Gruss und viel Erfolg,

emwe

Zalon
26.07.06, 10:55
Vielen Dank für die große Hilfe bzw. Arbeit.

Ich habe exakt, aber wirklich haargenau den gleichen Output, falls ich eben den Pfad für pear falsch setze. Gleiche Versionen und auch die gleichen Pakete.

Es wird also irgendwie an pear liegen.

Möchte Dich nicht vom Lernen abhalten, da ich aber wie Du auch eigentlich Lernen sollte... :D

Wo liegt bei Dir eigentlich die PEAR.php? Im /usr/share/php?
Hast Du diese noch irgendwo/irgendwie anders eingerichtet oder verknüpft? In der php.ini vielleicht?

Könntest Du mir vielleicht auch einen Ouput Deiner phpinfo geben, die sensiblen Daten kannst Du ja rausnehmen, nur damit ich Pfade bzw. Versionen und Unterstützung vergleichen kann?

Welche Version von pear hast Du eigentlich?

Vielen, vielen Dank!!!

emwe
27.07.06, 08:22
Hallo,

Meine PEAR.php liegt ebenfalls in /usr/share/php. Ich habe soweit ich mich erinnern kann nichts geändert und sie auch nicht weiter einbinden müssen. Ich bin beim PEAR-überprüfen aber auf ein witziges Phänomen gestossen:

Installiere ich horde3, dann wählt apt für mich php4-common und php4-cli mit aus. Dies war bei mir (aus früheren Installationen) schon installiert, so dass ich danach praktisch zwei PHP-Versionen auf der Maschine hatte:

1. libapache2-mod-php5 in der Version wie oben geschrieben
2. php4-cli und php4-common in Version 4:4.4.2-1.1
3. php4-pear in Version 4:4.4.2-1.1

Nichtsdestotrotz hatte ich keinerlei Probleme mit meiner PHP-Installation. Habe das jetzt aber mal angepasst, so dass meine jetzige Konfiguration so aussieht:

1. libapache2-mod-php5 in der Version wie oben geschrieben
2. php5-cli und php5-common in Version 5.1.4-0.1
3. php-pear in Version 5.1.4-0.1

Das bestätigt auch 'pear version':



$ pear version
PEAR Version: 1.4.9
PHP Version: 5.1.4-0.1
Zend Engine Version: 2.1.0


Jedoch funktioniert auch jetzt noch meine test.php und phpinfo(), sie zeigen mir halt beide viele fehlende Module an.

Den Output meiner phpinfo habe ich angehängt, nur hostname und homedir bzw. username ersetzt. Da das hier nur mein Laptop ist (die FreeBSD-PHP-Installation auf meinem Server bringt Dir ja auch nix :)), ist das soweit wahrscheinlich unbedenklich - der Apache ist jetzt nur zum Testen installiert und läuft nicht.

Gruss und viel Erfolg bei der Fehlersuche,

emwe

EDIT: Was mir gerade noch einfällt: gehe doch mal in /usr/share/horde3/ und führe
php test.php aus. Den Output (falls es einen gibt) kannst Du dann ja mal mit meinem vergleichen. Kommt da auch kein output, tippe ich endgültig auf ein Problem mit Deiner PHP/PEAR-Installation. Wenn das jedoch funktioniert, stimmt irgendwas mit dem Apache/der PHP-Installation beim Apache nicht.

Zalon
27.07.06, 11:28
Tausend Dank.

Meine Phpinfo sieht im Großen und Ganzen genauso aus. Die Versionen stimmen sowieso überein, die php4-Versionen hatte ich auch, dann aber auf php5 upgedatet.

Bei php test.php wird tatsächlich, wie angenommen nichts zurückgeliefert. Also doch irgendwas mit pear und/oder php.

Nur wo und was? Und warum nur bei der test.php im Horde3-Ordner, nicht aber bei der aus dem imp-Unterordner?
Eine <phpinfo()>-Datei funktioniert hingegen in beiden Ordnern.

Komische Sache!

Zalon
29.07.06, 16:58
Keiner mehr mit einer guten Idee?

Ich habe die Eingabe "php irgendeine-seite.php" jetzt in verschiedenen Verzeichnissen probiert, überall funktioniert es, nur bei dieser einen test.php im Horde-Verzeichnis eben nicht...

Zudem habe ich noch versucht fileinfo zu installieren, da bekomme ich aber die folgende Meldung:


Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20050922
Zend Extension Api No: 220051025
/usr/bin/phpize: /tmp/tmpbcbOjl/Fileinfo-1.0.3/build/shtool: /bin/sh: bad interpreter: Permission denied
Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF
environment variable is set correctly and then rerun this script.

ERROR: `phpize' failed

Welche php-autoconf ist da gemeint? Autoconf ist installiert, welche Variable soll ich da dann überprüfen?

Vielen Dank für Antworten.

Gruß,

Zalon

Zalon
01.08.06, 11:16
Nochmal ich, das Problem scheint tatsächlich an Pear zu liegen, auch eine Verbindung zur Datenbank von MySQL über das DB-Plugin scheitert, obwohl die Daten richtig gesetzt sind.

Wie bekomme ich von Pear oder Pecl mehr Informationen über Fehler, bzw. wo kann ich überhaupt ansetzen?

Ein Reinstall hat auch nichts gebracht.