Laravel 5.5
은 PHP > 7.0
만 지원하므로 5.6.x
과 호환되도록하려면 어떻게해야합니까? 나는 5.6
환경에 있는데, PHP
을 업그레이드하는 것은 옵션이 아니며, composer update
이 개발 환경에서 언제든지 실행되면 아무 것도 깨뜨리지 않을 것입니다.laravel이 PHP 5.6.x와 호환되도록 보장
기사를 보면 다운 그레이드가 쉽지 않은 것처럼 보입니다. 그래서 나는 어떻게 든 일이 깨지지 않도록하고 싶습니다.
여기에 작곡가 항목/의존성 목록입니다, laravel
가 그래서 5.4.*
{
"require": {
"php": ">=5.6.4",
"laravel/framework": "5.4.*",
"laravel/tinker": "~1.0",
"laravelcollective/html": "^5.4.0"
},
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~5.7"
},
}
로 지정이 평균 나는 더 이상 composer update
을 실행할 수 있습니까? 아니면 다른 패키지를 업데이트해도 안전합니까? 예 : 위에 지정된 것 및 laravel
은 5.4.36
으로 유지됩니까?
작곡가의 사양이 패키지가 5.4.x
범위에 있다는 것을 알았습니다. 확실하게하고 싶습니다. 또한 종속성이 이전 버전과의 호환성을 유지하는 데 안전하지 않을 수도 있습니다. 나는 지금 막 composer update
을 잊어야하는지 아니면 더 신중하게 composer.json
을 조정해야하는지 궁금합니다.
또한 다음 프로젝트는 PHP 5.6
일 필요가 있습니다. 여기서 사용자 지정 laravel-base에서 복제 할 예정이며, 여기에는 "laravel/framework": "5.4.*",
이 항상있을 것입니다. 이게 그렇게 설정되어 있니?
"require": {
"php": ">=5.6.4",
"laravel/framework": "5.4.*",
"laravel/tinker": "1.0.*",
"laravelcollective/html": "5.4.*"
},
"require-dev": {
"fzaninotto/faker": "1.7.*",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "5.7.*"
},
내가 init을 수 있습니다
이 내가의 주요 종속 (+ laravelcollective/html
)를 조정 한 내용을 @Eric 브라운의 대답, 그리고 packagist에 대한 몇 가지 연구에 대한 응답으로
입니다 업데이트 다음에 Laravel/vendor 파일의 복사본이있는 새로운 자식 repo를 만든 다음이 파일을 새 디렉토리에 넣으십시오.이 디렉토리는 하위 모듈을 엉망으로 만들고 싶지 않으므로 대신 tarball이 될 수 있습니다. 원래와 함께 커밋.
PHP 5.6은 [더 이상 적극적으로 지원되지 않으며 한 번만 더 보안 업데이트를 제공합니다] (http://php.net/supported-versions.php). 그 시점이 지나면 계속 실행하는 것은 위험하고 무책임합니다. ** 이제 ** PHP 7로 마이그레이션하기위한 계획을 시작할 시간입니다. – ceejayoz
좋은 지적입니다! 그 일에 책임이 있습니다. 내가이 부분을 통제 할 수 없기 때문에 내가 할 수있는 일은 현재의 인프라 스트럭처에서 장기간 안정적인 것을 제공 한 다음 작곡가를 조정하는 것입니다. 업그레이드를 결정할 때 손쉽게 사용할 수 있습니다.악의적으로 readme 또는 어딘가에 귀하의 의견을 참고하십시오! – blamb
'composer.lock' 파일이 소스 컨트롤에 포함되어 있는지 확인하십시오. ** 생성 된 모든 버전의 ** 정확한 ** 버전을 포함하고 있으며, 정확한 버전이 설치되도록'composer install '을 할 수 있습니다. 'composer update'는'.lock' 파일을 새로운 패키지로 업데이트 할 것이므로, 소스 제어에서 이전의'.lock' 파일을 체크 아웃하고 정확한 버전으로 다시 다운 그레이드 할 수 있음을 의미합니다. – ceejayoz