Symfony 4.3.9를 4.4.1 / 5.0으로 업그레이드 한 후 사용 중단 경고


12

더 이상 사용되지 않는 Symfony 3.4.9를 설치했습니다. 그래서 FW를 4.1.1로 업그레이드했습니다. 이제 벤더 라이브러리에서 9 개의 지원 중단 경고가 표시됩니다.

  • 번호를 인식하지 않고 Doctrine \ ORM \ Mapping \ UnderscoreNamingStrategy를 만드는 것은 더 이상 사용되지 않으며 Doctrine ORM 3.0에서 제거됩니다.
  • Symfony 4.4부터는 "Symfony \ Component \ HttpKernel \ EventListener \ ExceptionListener"클래스가 더 이상 사용되지 않습니다. 대신 "ErrorListener"를 사용하십시오.
  • Doctrine \ Common \ Persistence \ Mapping \ AbstractClassMetadataFactory 클래스는 교리 / 지속성 1.3부터 ​​더 이상 사용되지 않으며 2.0에서 제거됩니다. 대신 \ Doctrine \ Persistence \ Mapping \ AbstractClassMetadataFactory를 사용하십시오.
  • Doctrine \ Common \ Persistence \ Mapping \ RuntimeReflectionService 클래스는 교리 / 지속성 1.3부터 ​​더 이상 사용되지 않으며 2.0에서 제거됩니다. 대신 \ Doctrine \ Persistence \ Mapping \ RuntimeReflectionService를 사용하십시오.
  • Doctrine \ Common \ Persistence \ ObjectManager 클래스는 교리 / 지속성 1.3부터 ​​더 이상 사용되지 않으며 2.0에서 제거됩니다. 대신 \ Doctrine \ Persistence \ ObjectManager를 사용하십시오.
  • Doctrine \ Common \ Persistence \ ObjectRepository 클래스는 교리 / 지속성 1.3부터 ​​더 이상 사용되지 않으며 2.0에서 제거됩니다. 대신 \ Doctrine \ Persistence \ ObjectRepository를 사용하십시오.
  • Doctrine \ Common \ PropertyChangedListener 클래스는 교리 / 지속성 1.3부터 ​​더 이상 사용되지 않으며 2.0에서 제거됩니다. 대신 \ Doctrine \ Persistence \ PropertyChangedListener를 사용하십시오.
  • Symfony 4.4에서는 "twig.exception_controller"구성 키가 더 이상 사용되지 않으며 "null"로 설정하고 대신 "framework.error_controller"구성 키를 사용하십시오. (x2)

이 "일반"또는 내 composer.json 파일에 문제가 있습니까? 다시 한 번 확인했는데 "고정"설정이있는 종속성을 볼 수 없습니다.

심지어 전체 공급 업체 폴더를 삭제하고 동일한 결과로 "쓰레기"가 남아 있다고 생각하여 다시 다운로드했습니다.

내 composer.json 파일 :

{
    "type" : "project",
    "license" : "proprietary",
    "require" : {
        "php" : "^7.1.3",
        "ext-ctype" : "*",
        "ext-iconv" : "*",
        "sensio/framework-extra-bundle" : "^5.2",
        "symfony/apache-pack" : "^1.0",
        "symfony/asset" : "4.4.*",
        "symfony/console" : "4.4.*",
        "symfony/dotenv" : "4.4.*",
        "symfony/expression-language" : "4.4.*",
        "symfony/flex" : "^1.1",
        "symfony/form" : "4.4.*",
        "symfony/framework-bundle" : "4.4.*",
        "symfony/monolog-bundle" : "^3.1",
        "symfony/orm-pack" : "*",
        "symfony/process" : "4.4.*",
        "symfony/security-bundle" : "4.4.*",
        "symfony/serializer-pack" : "*",
        "symfony/swiftmailer-bundle" : "^3.1",
        "symfony/translation" : "4.4.*",
        "symfony/twig-bundle" : "4.4.*",
        "symfony/validator" : "4.4.*",
        "symfony/web-link" : "4.4.*",
        "symfony/webpack-encore-bundle" : "^1.1",
        "symfony/yaml" : "4.4.*"
    },
    "require-dev" : {
        "symfony/debug-pack" : "*",
        "symfony/maker-bundle" : "^1.0",
        "symfony/profiler-pack" : "^1.0",
        "symfony/test-pack" : "*",
        "symfony/web-server-bundle" : "4.4.*"
    },
    "config" : {
        "preferred-install" : {
            "*" : "dist"
        },
        "sort-packages" : true,
        "secure-http" : false
    },
    "autoload" : {
        "psr-4" : {
            "App\\" : "src/"
        }
    },
    "autoload-dev" : {
        "psr-4" : {
            "App\\Tests\\" : "tests/"
        },
        "classmap" : [
            "vendor/phpasn1"
        ]
    },
    "replace" : {
        "paragonie/random_compat" : "2.*",
        "symfony/polyfill-ctype" : "*",
        "symfony/polyfill-iconv" : "*",
        "symfony/polyfill-php71" : "*",
        "symfony/polyfill-php70" : "*",
        "symfony/polyfill-php56" : "*"
    },
    "conflict" : {
        "symfony/symfony" : "*"
    },
    "extra" : {
        "symfony" : {
            "allow-contrib" : false,
            "require" : "4.4.*"
        }
    }
}

편집하다

설치된 패키지를 확인한 결과 설치된 패키지 composer show중 2 개 이상이 위의 폐기 목록과 관련이 있음을 확인했습니다.

(...)
doctrine/orm                        v2.7.0  Object-Relational-Mapper for PHP
doctrine/persistence                1.3.3   The Doctrine Persistence project is a set of shared...
(...)

따라서이 패키지의 사용 가능한 버전을 확인했으며 composer info doctrine/persistence --all최신 비 dev 버전이 설치되어 있음을 알았습니다.

name     : doctrine/persistence
descrip. : The Doctrine Persistence project is a set of shared interfaces and functionality that the different Doctrine object mappers share.
keywords : mapper, object, odm, orm, persistence
versions : dev-master, 2.0.x-dev, 1.3.x-dev, * 1.3.3, 1.3.2, 1.3.1, 1.3.0, 1.2.x-dev, 1.2.0, 1.1.x-dev, 1.1.1, v1.1.0, 1.0.x-dev, v1.0.1, v1.0.0, dev-1.3.x-merge-up-into-master_5df35c38f354a9.94042071, dev-1.3.x-merge-up-into-master_5df33dc289ea03.65167777, dev-1.3.x-merge-up-into-master_5df29d964b0aa5.96685696, dev-github-funding, dev-master-old
(...)

동일합니다 doctrine-orm.

교리 / 지속성에 대한 GitHub 사이트는 다음을 확증하는 것 같습니다 : https://github.com/doctrine/persistence/releases

따라서 이것은 실제로 정상적인 동작이라고 생각하고 나중에이 패키지가 업데이트되면 더 이상 사용되지 않는 메시지가 사라질 것이라고 생각합니다.

솔루션에 대한 참고 사항

허용 된 답변을 읽은 사람은 누구나 알 수 있듯이 아직 해결되지 않는 5 개의 지원 중단이 여전히 있습니다. 이에 대한 해결책이 있습니다 답변 ASA를 포함시킵니다. 누군가 내 앞에 이것을 알면이 질문에 대한 답변을 자유롭게 추가하십시오. 감사.


이들이 코드가 아닌 벤더 라이브러리에서 온다면 정상입니다. 문제가있는 공급 업체를 업데이트하면 문제가 해결됩니다. 모든 라이브러리가 최신 심포니 및 교리 사용 중단으로 최신 상태가 아니기 때문에 업데이트로 바로 고칠 수는 없습니다.
tftd

문제는 ... 어느 벤더입니까? 교리와 나뭇 가지에 대한 여러 패키지가 있습니다. AFAIU 이들은 관련이 있습니다. json에서 어떤 것을 선택해야합니까? 방금 확인
Nelson Teixeira

이 문제를 해결하는 가장 쉬운 방법은 프로젝트를 개발 모드로 시작하고 브라우저에서 일부 페이지를 탐색하는 것입니다. 디버그 툴바에 사용 중단 알림이 표시되며 trace링크를 사용 하여 스택 추적 및 핀 포인트가 어디에서 왔는지 확인할 수 있습니다. :)
tftd

2
4.3과 4.4 사이에서 상황이 바뀌 었습니다. 5.x로 이동하기 전에 더 이상 사용되지 않는 항목 만 정리하면됩니다. : 첫 번째는 실제로 교리의 문제이며 고정 할 수 있지만 그래서 다른 모든 등을 통해 및 수정 쟁기 stackoverflow.com/questions/58975182/...
CERAD

1
질문을 삭제하지 마십시오. 공급 업체 업데이트를 기다리는 것 외에는 할 일이 없더라도. 나는 Doctrine deprecation (약 ObjectManager)을 통해 여기에 왔으며 , 그것이 무슨 일인지 알 수 있도록 도와주었습니다.
k00ni

답변:


3

좋아, 나는 다음을 고칠 수 있었다. 다른 사람을 고치는 방법을 아는 사람이 있으면 언제든지 편집하십시오.

1.) 의견의 Cerad에서 : 더 이상 사용되지 않음 : Doctrine \ ORM \ Mapping \ UnderscoreNamingStrategy

9.) 나뭇 가지 twig.exception_controller 구성 옵션 : https://github.com/symfony/symfony/blob/master/UPGRADE-4.4.md#twigbundle

2) 위의 두 항목을 수정했을 때 ExceptionListener가 지워져서 5 개의 지원 중단 만 발생했습니다.


마지막으로 남은 5 개는 알려진 것으로 보이며 다음과 같이 수정 될 것입니다 . Windows의 Symfony 5.0.1 콘솔에서 더 이상 사용되지 않는 클래스 경고


1
엑센트. 또한 지원 중단 횟수를 5로 줄였습니다. 감사합니다.
Nelson Teixeira

3

당신이 제거하려는 경우 Doctrine\Common\Persistence\*모든 것이 해결 될 때까지 감가 상각, 당신은 추가 할 수 있습니다 "conflict": { "doctrine/persistence": "1.3.*" }당신에 composer.json버전 1.2 및 숙박. *의 교리 / 지속성 .


2
정보에 감사드립니다. 그러나 메시지가 있습니다. :)
Nelson Teixeira
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.