2017-08-21 5 views
1

Ich habe eine helper.php-Datei in app/Helpers-Verzeichnis. Ich enthalten die Datei in composer.json:Kann public_path() in einer Hilfsdatei nicht verwenden Laravel 5.4

... 
     "files": [ 
      "app/Helpers/helpers.php" 
     ] 
... 

Helper funktioniert gut, aber ich kann nicht public_path() Methode dort verwenden. Ich muss eine andere Datei hinzufügen (bitte fragen Sie mich nicht warum, denn es ist alter Code, den ich nicht neu schreiben muss). So habe ich die folgenden:

require_once public_path() . '/appadmin/bootstrap.php'; 

Ich weiß, dass standardmäßig Laravel in /public/ Ordner aussieht, aber ich mit einem Problem konfrontiert. Wenn ich composer update ausführen muss, muss ich public/appadmin/bootstrap.php Pfad in helper.php verwenden, aber nach der Durchführung muss ich diesen Pfad für die korrekte Arbeit zu /appadmin/bootstrap.php ändern. Deshalb entscheide ich mich, die Methode public_path() zu verwenden, um den korrekten Pfad für beide Fälle zu erhalten. Und wenn ich es verwende, erhalte ich einen Fehler:

Vielen Dank im Voraus!

Antwort

0

Haben Sie versucht, Ihre App auf die aktuelle Version zu aktualisieren?

Es gibt einige Dateien im Framework selbst, die aktualisiert werden müssen.

Überprüfen Sie die Konfigurationsdateien, die Bootstrap-Dateien, server.php und die Startdateien hier https://github.com/laravel/laravel/tree/develop.

könnten Sie öffnen index.php (im öffentlichen Verzeichnis) und ändern:

$app = require_once __DIR__.'/../bootstrap/app.php'; 

// set the public path to this directory 
$app->bind('path.public', function() { 
    return __DIR__; 
}); 

Jetzt müssen Sie nicht Ihren öffentlichen Weg ändern müssen, wenn Ihr öffentliches Verzeichnis geändert hat.

+0

Entschuldigung, ich benutze bereits 5.4. Ich überprüfe server.php, danke –

+0

Ich habe keine Laravel-Dateien geändert. Und wenn ich "Composer-Update" oder "Composer-Installation" ohne "Public_path()" -Funktion ausführen - alles ist in Ordnung –

+0

Ich habe überprüft. Scheint, es hilft nicht. Ich bekomme den gleichen Fehler –