2017-07-27 89 views
0

我有一個Symfony 3項目,測試通過php 5.5 & 5.6但在7.0和7.1失敗。在使用Symfony 2.8時,所有相同的測試都通過了。 所有測試都通過本地,但一些travis失敗。 顯示失​​敗測試:https://travis-ci.org/zikula/core/builds/257745627 travis文件:https://github.com/zikula/core/blob/master/.travis.yml#L40 我希望這裏有人會有一些見解。我幾乎完全喪失。Symfony 3單元測試通過本地但不在Travis

最初在特拉維斯文件中,我剛剛跑過phpunit,直到最近我開始發現像這裏報告的錯誤(https://github.com/symfony/symfony/issues/19532),例如, YamlFileLoader - Undefined class constant 'PARSE_CONSTANT'

,所以我嘗試都./src/vendor/symfony/symfony/src/Symfony/Bridge/PhpUnit/bin/simple-phpunitbin/pnpunit(當前設置),他們都失敗(但不同!)

,因爲它是目前設置了我得到的測試之前,這些錯誤會失敗:

$ ./bin/phpunit PHP警告:PHP啓動:無法加載動態庫'/home/travis/.phpenv/versions/7.0.7/lib/php/extensions/no-debug-zts-20151012/apc.so ' - /home/travis/.phpenv/versions/7.0.7/lib/php/extensions/no-debug-zts-20151012/apc.so:無法打開共享對象文件:未知的未知文件或目錄在線0

警告:PHP啓動:無法加載動態庫'/home/travis/.phpenv/versions/7.0.7/lib/php/extensions/no-debug-zts-20151012/apc.so' - /home/travis/.phpenv/versions/7.0.7/lib/php/extensions/no-debug-zts-20151012/apc.so:無法打開共享對象文件:沒有這樣的文件或目錄在未知的行0上

PHP警告:PHP啓動:無法加載動態庫'/home/travis/.phpenv/versions/7.0.7/lib/php/extensions/no-debug-zts-20151012/memcache.so' -/home /travis/.phpenv/versions/7.0.7/lib/php/extensions/no-debug-zts-20151012/memcache.so:無法打開共享目標文件:沒有這樣的文件或目錄在未知的第0行上

警告:PHP啓動:無法加載動態庫'/home/travis/.phpenv/versions/7.0.7/lib/php/extensions/no-debug-zts-20151012/memcache.so' -/home/travis /。無法打開共享目標文件:沒有這樣的文件或目錄在未知的行0

所以我我猜這是相關的,因爲我沒有得到這些錯誤本地或在PHP 5.5/5.6

任何想法如何解決這個?提前致謝!

+0

所以我刪除了一些試圖加載'api.so'和'memcache.so'的配置文件,這樣刪除了上面的錯誤,但並未解決測試失敗的問題(請參閱https:// travis-ci .ORG /齊庫拉/型芯/建立/ 258167616)。所以顯然,PHP錯誤與測試失敗無關。 – craigh

+0

在本地運行測試之前,您是否使用與運行測試相同的PHP版本運行Composer更新? –

+0

不,我想我在本地運行不同的PHP版本 - 5.6.30 – craigh

回答

0

首先,在PHP 7上運行的composer可能會帶來不同版本的依賴關係,如果它運行在PHP 5上。這是因爲很多包現在都在支持PHP 5支持。也許你正在獲取一個在PHP 7上表現不同的依賴項。

另一個選擇是你的代碼在PHP 7上的行爲不同。例如,如果你得到的失敗與排序有關,那麼可能是你的算法根據運行的PHP版本以不同的方式排序。

+0

謝謝。事實上,我已經瞭解到,php7在一些數組排序和排序方面的操作是不同的,這是可能的罪魁禍首。感謝您花時間回答並提供幫助。 – craigh