2016-02-17 26 views
0

最近,我在我的composer.json文件中添加了一些內容,並執行了「composer dump autoload」。在開發方面所有工作都很好。laraval 5,在composer dump自動加載後投入生產的文件

當我把我的更新生產,我有這個錯誤:

[2016-02-17 08:17:47] local.ERROR: exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Call to undefined function App\Http\Controllers\f_array_classe()' in /home/dominiquir/ecole/app/Http/Controllers/MatieresEnseigneesController.php:67

當我把我的應用程序在生產中,我把只有「應用程序」文件夾中。但當然,當這個文件被修改時,我還必須投入生產一些其他文件,但哪些文件?

感謝您的反饋。

多米尼克

+0

您使用哪種工具進行部署? 我將整個項目部署到除生產商文件夾之外的生產環境中。 但在生產中我需要運行'composer install'來加載依賴關係 – Chung

+0

我使用「filezilla」!我把我所有的項目第一次。然後對於每個新版本,我只放置「應用程序」和「公共」文件夾。否則,它會花費太多時間(我有一個非常非常慢的連接)。但是當我修改作曲家時。json文件我肯定也會放一些其他文件,但我不知道哪一個。 – Dom

回答

3

它採用作曲家把在線

  1. 運行應用程序本身所需的所有文件的應用程序 - 你應該知道這些文件的位置,因爲我想你創建它們
  2. vendor文件夾中的所有文件。

如果您不確切地知道第1點,則全局正確的答案是:運行composer install後您的整個項目文件夾。

要優化上載時間,您應該省略開發依賴項:運行composer install --no-dev刪除任何不用於運行應用程序的東西。開發依賴通常包括像PHPUnit這樣的測試框架,或者僅用於幫助開發的任何庫,例如正在使用的框架的某些命令行界面等。如果您的composer.json的條目在require-dev之下,那就省略了。

減少上傳大小的下一步就是不上傳任何不相關的應用程序本身,比如測試。但這完全取決於你如何構建應用程序。

我會推薦編寫一個腳本來完成所有的準備工作以創建一個優化的上傳。它可以是一個簡單的shell腳本,用於創建一個新的空文件夾,然後將所有需要的文件和文件夾複製到該文件夾​​中,然後在那裏運行composer install --no-dev,然後再從不需要的依賴項包(如測試文件夾)中刪除文件。

然後,您也可以運行圖像,CSS和Javascript優化軟件。它們中的大多數可以被壓縮而不會有任何質量或功能的損失。

最後你會得到一個文件夾,你知道你必須上網。只需上傳整個文件夾。完成。

更多的優化是嘗試使用rsync,它將比較已經存在於目標的文件和源文件的文件,並且只傳輸必要的最小值,但這需要某種類型的SSH訪問,而不僅僅是FTP。

+0

非常感謝斯文。我明白了。我將所有文件夾「供應商/作曲家」放入製作中(僅限8個非常輕的文件)。它現在工作正常!留言Merci。 – Dom

相關問題