在測試運行時,它看起來像是一些系統資源在Symfony 2.5中。單元測試:升級到symfony 2.5後出現「打開的文件太多」和「連接太多」的錯誤
我有一個包含200多個功能測試的Symfony2項目。 隨着Symfony的2.3和2.4的一切工作,但升級至2.5後,我開始收到一個錯誤(我使用的是Mac OS X):
failed to open stream: Too many open files
我GOOGLE了一點,在系統配置改變MAX_FILES參數。
從那以後,我開始收到另一個錯誤:
Uncaught exception 'PDOException' with message 'SQLSTATE[08004] [1040] Too many connections'
OK,我改變最大的連接參數在MySQL,但它看上去就像是升級後的錯誤。像一些系統資源持有。
降級到2.4後,一切都變好了。
也許現在我必須在某處手動關閉一些資源或連接?或者問題在別的地方?
UPD:運行單元測試之前Too many connection during unit testing
因此,您設法通過在** my.cnf中增加'max_connections',通過增加** php.ini **中的'max_files' ...和'太多的連接數'來解決這兩個問題 - '太多打開的文件' ** ...現在你的問題到底是什麼?請澄清。 – nifr
Nifr,我編輯了我的問題。無論如何,我認爲這是不正常的。我想了解原因。測試開始使用更多的資源或連接?但爲什麼?或者一些必須關閉的資源仍然打開?但爲什麼?我是否必須在代碼中的某處手動關閉它們?什麼改變了? – zIs
聽起來像你的phpunit測試不要乾淨地關閉連接.. 你有一個'$ this-> em-> close();'在你的tearDown中嗎?在2.4和2.5之間,建議使用KernelTestCase而不是WebTestCase,不知道它是否會產生差異。請參閱http://symfony.com/doc/current/cookbook/testing/doctrine.html – Rufinus