2016-05-12 3 views
0

PHP-Zeile funktioniert gut auf localhost, aber nicht auf Live-Heroku-Server, auch wenn ich die gleiche Datei und Ordnerstruktur haben.Datei funktioniert nicht auf Heroku-Server (Keine solche Datei oder Verzeichnis)

require(APPPATH . '../../vendor/mpdf/mpdf/mpdf.php'); 

ich auf Heroku Live-Server folgende Störung erhalte ist:

PHP Fatal error: require(): Failed opening required 'application/../../vendor/mpdf/mpdf/mpdf.php' (include_path='.:/app/.heroku/php/lib/php') in /app/CI/application/libraries/PDFLib.php on line 5 

viel Zeit verbringen, um herauszufinden, was die Gründe dafür sein könnte, wird jede Hilfe dankbar.

+0

Verwenden Sie [Composer] (https://getcomposer.org/)? – Chris

+0

Ja, ich benutze Composer und ich habe eine Lösung für mein Problem gefunden. – Ali

Antwort

0

Ich lief gerade Composer Update mit meinem Zweig. Es endet die Aktualisierung der composer.lock Datei und Hinzufügen des „MPD/mpdf“ und „setasign/FPDI“ Pakete

Also, was passiert, ist, meine composer.lock Datei nicht enthalten mpdf oder FPDI. Wenn Heroku versucht, die Anwendung zu erstellen, ändert es das Verzeichnis "vendor" so, dass es mit meiner Datei composer.lock übereinstimmt.

Und meine composer.lock Datei gibt an, dass mpdf und FPDI nicht Teil der Anwendung

jedoch sein sollte, dann ist dies unterscheidet sich von der composer.json-Datei, die das mpdf und FPDI spezifiziert Teil der Anwendung sein sollte.

+0

['composer.lock' sollte mit' composer.json' auf dem neuesten Stand gehalten werden und beide Dateien sollten der Versionskontrolle übergeben werden. (Https://getcomposer.org/doc/01-basic-usage.md#composer- lock-the-lock-Datei). – Chris