Zend Optimizer Installation fehlerhaft?

preisrebell24

New Member
Hallo,
ich hoffe, daß ich hier die nötige Hilfe finde, die ich verzweifelt suche ... :confused:

Also folgendes Problem stellt sich dar:
Auf einem Suse Linux Server habe ich PHP 5.1.6 installiert mit Apache 2.0. Um meinen osCommerce Shop performanter zu gestalten, habe ich Zend Optimizer nachinstalliert.

Läuft auch soweit ok lt. phpinfo().

Wenn ich allerdings den Shop bzw. den Administrationsbereich aufrufe, werden mir nur weiße Seiten angezeigt.

Meine Recherchen und die entsprechenden Fehlermeldungen im Apache error_log legen nahe, daß mit dem Einschalten des Zend Optimiziers die Konfigurationsdateien und die darin angegebenen Pfadangaben nicht mehr erkannt werden.

- PHP Notice: Use of undefined constant DIR_WS_CLASSES - assumed 'DIR_WS_CLASSES' in /my/path/admin/index.php on line 15

Der entsprechende Eintrag in der index.php:
require(DIR_WS_CLASSES . 'andere.php');

Die entsprechende Konfigurationsdatei mit den Pfadangaben für die DIR_WS_CLASSES liegt im Verzeichnis /my/path/admin/includes/.

Wenn ich den Wert DIR_WS_CLASSES durch eine tatsächliche Pfadangabe ersetze komme ich schon weiter, allerdings werden nachfolgende Fehlermeldungen generiert.

Ich setzt zusätzlich Plesk 8.4 ein, allerdings wird kein ionCube geladen in der php.ini.

Irgendeine Idee, woran das liegen könnte?

Beste Grüße und Dank
eines Verzweifelten
 
Hallo und willkommen im Forum!

Der von Dir beschriebene Fehler ist lediglich eine Notice und somit nicht kriegsentscheidend und produziert garantiert nicht die leere, weiße Seite. Die richtige Fehlermeldung muss also noch gesucht werden.

Läuft der ZO denn bei anderen Seiten? Gibt es separate Logs für den ZO?

--marneus
 
Hallo marneus,
danke für die Antwort. Folgende Fehlermeldungen stehen noch im Log, die mit der Notice generiert werden:

- PHP Warning: require(DIR_WS_CLASSESandere.php) [<a href='function.require'>function.require</a>]: failed to open stream: Datei oder Verzeichnis nicht gefunden in /my/path/admin/index.php on line 15
- PHP Fatal error: require() [<a href='function.require'>function.require</a>]: Failed opening required 'DIR_WS_CLASSESandere.php' (include_path='.:') in /my/path/admin/index.php on line 15

Es scheint so, als könne das System das 'DIR_WS_CLASSES' nicht "übersetzen".

Grüße und Dank,
Tobias
 
Durchsuche mal bitte XT:C nach "define('DIR_WS_CLASSES'" (ohne "). Ich hab jetzt leider keinen Zugriff auf mein XT:C Projekt, sonst könnte ich Dir direkt behilflich sein. Scheint so, als ob Du in irgendeiner Include Datei versehentlich etwas geändert hast.

Es wäre übrigens deutlich einfacher für uns, wenn Du die Pfade nicht verfremden würdest.

--marneus
 
Hallo marneus,

ok, danke, dann hier noch einmal die Fehlermeldungen, die ich erhalte, wenn ich meinen Admin-Bereich aufrufen möchte (unverfälscht):

[Mon Jul 07 03:27:25 2008] [error] PHP Notice: Use of undefined constant DIR_WS_CLASSES - assumed 'DIR_WS_CLASSES' in /srv/www/vhosts/preisrebell24.de/httpdocs/admin/index.php on line 15
[Mon Jul 07 03:27:25 2008] [error] PHP Warning: require(DIR_WS_CLASSEScurrencies.php) [<a href='function.require'>function.require</a>]: failed to open stream: Datei oder Verzeichnis nicht gefunden in /srv/www/vhosts/preisrebell24.de/httpdocs/admin/index.php on line 15
[Mon Jul 07 03:27:25 2008] [error] PHP Fatal error: require() [<a href='function.require'>function.require</a>]: Failed opening required 'DIR_WS_CLASSEScurrencies.php' (include_path='.:') in /srv/www/vhosts/preisrebell24.de/httpdocs/admin/index.php on line 15

Den "define('DIR_WS_CLASSES'" (ohne ") gibt es genau einmal im Pfad /srv/www/vhosts/preisrebell24.de/httpdocs/admin/includes. Vor dem Aufruf des require(DIR_WS_CLASSES . 'currencies.php') ruft das Skript noch folgendes auf, was anscheinend funktioniert: require('includes/application_top.php').

Ähnliche Fehlermeldung erhalte ich, wenn ich meinen Shop (öffentlichen Bereich) aufrufe:
[Mon Jul 07 03:27:55 2008] [error] PHP Notice: Use of undefined constant DIR_WS_LANGUAGES - assumed 'DIR_WS_LANGUAGES' in /srv/www/vhosts/preisrebell24.de/httpdocs/product_info.php on line 15
[Mon Jul 07 03:27:55 2008] [error] PHP Notice: Undefined variable: language in /srv/www/vhosts/preisrebell24.de/httpdocs/product_info.php on line 15
[Mon Jul 07 03:27:55 2008] [error] PHP Notice: Use of undefined constant FILENAME_PRODUCT_INFO - assumed 'FILENAME_PRODUCT_INFO' in /srv/www/vhosts/preisrebell24.de/httpdocs/product_info.php on line 15
[Mon Jul 07 03:27:55 2008] [error] PHP Warning: require(DIR_WS_LANGUAGES/FILENAME_PRODUCT_INFO) [<a href='function.require'>function.require</a>]: failed to open stream: Datei oder Verzeichnis nicht gefunden in /srv/www/vhosts/preisrebell24.de/httpdocs/product_info.php on line 15
[Mon Jul 07 03:27:55 2008] [error] PHP Fatal error: require() [<a href='function.require'>function.require</a>]: Failed opening required 'DIR_WS_LANGUAGES/FILENAME_PRODUCT_INFO' (include_path='.:') in /srv/www/vhosts/preisrebell24.de/httpdocs/product_info.php on line 15

Den "define('DIR_WS_LANGUAGES'" (ohne ") gibt es genau einmal im Pfad /srv/www/vhosts/preisrebell24.de/httpdocs/includes.

Könnte das helfen?

Danke für Dein Feedback,
Tobias
 
So wie es mir scheint, wird die Datei gar nicht inkludiert, die die ganzen defines enthält. Da ist irgendwas im Header falsch.

--marneus
 
Tja, was mich halt nachdenklich macht ist der Fakt, daß es ohne ZO funktioniert.

Muß ich evtl. etwas beachten bzgl. include_path in der php.ini? Derzeit habe ich dort folgenden Eintrag:
include_path = ".:.:.:/usr/share/php5:/usr/share/php5/PEAR"

Habe den auch schon einmal auskommentiert ... NIX.

Habe auch mal folgendes dazu gesetzt (Pfad zu Zend O):
include_path = ".:.:.:/usr/share/php5:/usr/share/php5/PEAR:/usr/include/php5/Zend:/usr/local/Zend" .... auch NIX.

Try and error ... *grummel*

Grüße,
Tobias
 
include_path = ".:.:.:/usr/share/php5:/usr/share/php5/PEAR:/usr/include/php5/Zend:/usr/local/Zend" .... auch NIX.

Dreimal "." zu inkludieren ist IMHO Unsinn. Also
".:.:."
ersetzen durch
".:"
denn der Punkt steht für das aktuelle Verzeichnis indem das PHP-Skript liegt, das andere PHP-Skripte inkludiert.

Vielleicht hilft es auch
"/srv/www/vhosts/preisrebell24.de/httpdocs/"
einzutragen.

Danach deb Apache reloaden. Unter openSUSE zum Beispiel mit "rcapache2 reload" (wenn Apache2 verwendet wird).

Gruß
Claus
 
Back
Top