2016-03-10 32 views
2

我知道有一些問題幾乎相同,但沒有一個似乎是我的情況。你已經要求一個不存在的服務「phpexcel」

我有一個symfony 2.8.3項目,它讀取和導入excel文件中的數據到mysql數據庫中。它的所有工作本地主機很好,但在過去的48小時內,我一直試圖讓它在我的服務器上工作。它是一個共享主機,沒有SSH訪問Linux。

當我試圖從服務器加載它時出現此錯誤:「您已請求不存在的服務」phpexcel「。」

+1

您可以將'phpexcel'服務聲明(services.yml)添加到您的問題嗎?如果您只是將應用程序部署到服務器並且服務已添加到上一次部署中,則需要清除緩存(可能需要手動刪除緩存目錄中的所有文件)。 – chalasr

回答

4

看起來您想使用ExcelBundle的服務。但該捆綁未加載。檢查是否爲生產環境添加了它。

$bundles = array(
    // ... 
    new Liuggio\ExcelBundle\LiuggioExcelBundle(), 
); 

不要忘記任何配置(AppKernel.php也)更改後,清除生產環境中的高速緩存。

清除緩存運行php app/console cache:clear。您還可以添加env參數:--env=dev--env=prod - 取決於您的環境。如果不這麼做,幫助剛剛刪除app/cache/目錄下的所有內容(或var/cache/在Symfony3應用程序的情況下)

1

帕維爾回答正確,但缺少的東西:你以後添加這一行:new Liuggio\ExcelBundle\LiuggioExcelBundle(),AppKernel.php文件,裏面的$bundles陣列,請不要忘記清除緩存:如果您處於開發者模式,請從app/cache/dev中刪除文件;如果是生產模式,請從app/cache/prod中刪除文件。

+0

不應要求清除dev env上的緩存。 Symfony會發現新的捆綁包。在prod上任何配置更改都需要清除緩存。如果我的答案是正確的 - 你能標記它嗎? –

+0

是的Pawel,如果你擴展您的問題緩存問題。我可以向你保證它的需要。謝謝! – Ervin

相關問題