Zum Inhalt springen

Fehler beim öffnen einer über includeLibs eingebundenen php-Datei

Erstellt am 12. November 2013 · 2 Antworten · letzte Antwort am 12. November 2013

Tags: PHP, TYPO3 6.x, Frage

hrlohse ·

Hallo,
beim Versuch ein einfaches Beispiel für die Einbindung von php-Code in Typo3 nachzubauen,

Ich habe eine php-Datei (/var/www/typo3/fileadmin/Template/Private/Configuration/TypoScript/user_test_klasse.php). Diese enthält folgenden Code:

<?php
   class user_test_klasse
   {
	
      function main()
      {
         return 'Dieser Text wurde durch PHP erzeugt.';
      }
   }
?>

Die php-Klasse versuche ich über folgende TS-Code in meine Seite einzubinden:

includeLibs.user_test_klasse = user_test_klasse.php
page = PAGE
page {
  10 = USER_INT
  10.userFunc = user_test_klasse->main
  10.stdWrap.wrap = |
}

Im typo3-Log erhalte ich dann folgende Fehlermeldungen:
Core: Error handler (FE): PHP Warning: include_once(): Failed opening './user_test_klasse.php' for inclusion (include_path='/var/www/typo3/typo3/contrib/pear/:.:/usr/share/php:/usr/share/pear') in /var/www/typo3-6.1.5/typo3/sysext/cms/tslib/pagegen.php line 45

Core: Error handler (FE): PHP Warning: include_once(./user_test_klasse.php): failed to open stream: No such file or directory in /var/www/typo3-6.1.5/typo3/sysext/cms/tslib/pagegen.php line 45

Verwende ich beim Einbinden eine absolute Pfadangabe:
/var/www/typo3/fileadmin/script/user_test_klasse.php
ändert sich der Teil der Fehlermeldung wie folgt:
Core: Error handler (FE): PHP Warning: include_once(): Failed opening './/var/www/typo3/fileadmin/script/user_test_klasse.php' for

Es sieht also so aus, als ob typ3 versucht, beim includeLibs noch ein ./ davor zu schreiben.
Woran könnte das liegen?

Danke schon mal!
Gruß
hrlohse

Julian.​Hofmann · · Beste Antwort

Hallo.

TYPO3 geht bei Pfaden (in der Regel) vom Webroot aus, d.h. dem Verzeichnis in dem die Ordner typo3 und fileadmin liegen. D.h. der Pfad zu Deiner PHP_Datei sollte daher sein:

includeLibs.user_test_klasse = fileadmin/script/user_test_klasse.php

Viele Grüße
Julian