2013-10-02 49 views
2

這令人沮喪。我設立的工作我的dev的機器上很好,但給了我一個FOSUserBundle - SQLSTATE [28000] [1045]訪問被拒絕用戶'root'@'localhost'(使用密碼:否)

SQLSTATE [28000] [1045]訪問被拒絕的用戶 '根' @ 'localhost' 的(使用密碼:NO)

部署到共享主機時出錯。我parameters.yml:

# This file is auto-generated during the composer install 
parameters: 
    database_driver: pdo_mysql 
    database_host: mysql.server322.com 
    database_port: 3306 
    database_name: adirule_db 
    database_user: adirule 
    database_password: Ref1ect0b0l1! 
    mailer_transport: smtp 
    mailer_host: localhost 
    mailer_user: null 
    mailer_password: null 
    locale: en 
    secret: ThisTokenIsNotSoSecretChangeIt 

config.yml:

# Doctrine Configuration 
doctrine: 
    dbal: 
     driver: %database_driver% 
     host:  %database_host% 
     port:  %database_port% 
     dbname: %database_name% 
     user:  %database_user% 
     password: %database_password% 
     charset: UTF8 
     # if using pdo_sqlite as your database driver, add the path in parameters.yml 
     # e.g. database_path: %kernel.root_dir%/data/data.db3 
     # path:  %database_path% 

    orm: 
     auto_generate_proxy_classes: %kernel.debug% 
     auto_mapping: true 

fos_user: 
    db_driver: orm 

我不知道去哪裏找/如何解決這個問題,因爲我從來沒有見過它。它看起來像繞過我的數據庫用戶/密碼組合和默認爲根/無密碼。

有什麼建議嗎?

+0

這正是它在做什麼。那麼你確定一切都複製到服務器? – RiggsFolly

+0

是的,考慮到當我嘗試像'doctrine:schema:create'和'fos:user:create'這樣的命令時,它可以正常工作。 –

+0

因此,在localhost上工作,你是否在服務器上這樣做? – RiggsFolly

回答

4

奇怪的是,通過$ app/console cache:clear --env=prod清除緩存修復了它。不知道爲什麼。希望它保持不變,並不是某種幸運的巧合。

+0

在你的開發箱上,你使用開發環境。如果在共享主機上有一個「app/cache/prod」文件夾(來自上傳),那麼你有一個編譯過的舊緩存用於生產。所有配置(包括parameters.yml)被編譯爲純php代碼。 –

+0

這兩個緩存都包含在我的.gitignore中,所以既沒有通過 –

+0

傳輸,謝謝!它解決了這個問題。 – iarroyo

相關問題