[Frage] Fehler beim öffnen einer über includeLibs eingebundenen php-Datei [Gelöst] TYPO3-Version: 6.1.1

  • hrlohse hrlohse
    TYPO3-Anwärter
    0 x
    6 Beiträge
    0 Hilfreiche Beiträge
    12. 11. 2013, 11:13

    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:

    1. <?php
    2. class user_test_klasse
    3. {
    4.  
    5. function main()
    6. {
    7. return 'Dieser Text wurde durch PHP erzeugt.';
    8. }
    9. }
    10. ?>

    Die php-Klasse versuche ich über folgende TS-Code in meine Seite einzubinden:
    1. includeLibs.user_test_klasse = user_test_klasse.php
    2. page = PAGE
    3. page {
    4. 10 = USER_INT
    5. 10.userFunc = user_test_klasse->main
    6. 10.stdWrap.wrap = |
    7. }

    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 Julian.Ho...
    Flash Gordon
    1 x
    2849 Beiträge
    105 Hilfreiche Beiträge
    12. 11. 2013, 11:52 - Lösung

    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:
    [code]includeLibs.user_test_klasse = fileadmin/script/user_test_klasse.php[/code]

    Viele Grüße
    Julian


  • 1
  • Julian.Hofmann Julian.Ho...
    Flash Gordon
    1 x
    2849 Beiträge
    105 Hilfreiche Beiträge
    12. 11. 2013, 11:52

    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:
    [code]includeLibs.user_test_klasse = fileadmin/script/user_test_klasse.php[/code]

    Viele Grüße
    Julian

  • hrlohse hrlohse
    TYPO3-Anwärter
    0 x
    6 Beiträge
    0 Hilfreiche Beiträge
    12. 11. 2013, 13:13

    Hallo Julian,
    vielen Dank für die schnelle Hilfe. Es funktioniert jetzt.
    Viele Grüße
    Holger

  • 1