web-dev-qa-db-ja.com

クラス__PHP_Incomplete_Classにはアンシリアライザーがありません

PHPUnitでテストを実行しようとしていますが、このエラーが発生します。

致命的なエラー:/opt/lampp/lib/php/PHPUnit/Util/PHP.php:237の「クラス__PHP_Incomplete_Classにアンシリアライザーがありません」というメッセージを含むキャッチされない例外「ErrorException」

PHP - 5.4.7
PHPUnit - 3.7.21

PHPUnit設定:

processIsolation = "true"

前もって感謝します。

13
Infinity

テスト環境のキャッシュをクリアしてみてください。 php app/console cache:clear --env=test

11
greg

これは、unserializeメソッドが失敗している場所を見つけるのに役立つ可能性のあるデバッグソリューションです。

<?php
ini_set('unserialize_callback_func', 'debug_unserialize');

function debug_unserialize($classname) 
{
    die(var_dump($classname));
}

そうすれば、どのクラス名が問題を引き起こしているかがわかります。

8
Gildas

ブラウザでサイトを開いてから、もう一度テストを実行してみてください。私はそれがうまくいくと確信しています、PhpUnitとSymfonyによるキャッシュ生成にはいくつかの違いがあるようです

1
naddy19

私は同じ問題を抱えています

symfonyをsymfony3.3.18にアップデートするとうまくいきます!

それが役に立てば幸い

0
Jasson Rojas