< 라라벨 6 새기능 >
https://laravel.kr/docs/6.x/releases

 

* 유의적 버젼 , Semantic Versioning
6.x 계열은 호환성이 유지됨


* Ignition 을 통한 향상된 에러 페이지
https://github.com/facade/ignition


* 개선된 권한 응답
- 권한 관련 에러 메시지 출력이 용이
https://laravel.kr/docs/6.x/authorization


* Job 미들웨어
큐에 들어간 job 이 실행될때, 그 전후를 감싸는 커스텀 로직을 추가


* 지연 컬렉션, LazyCollection
PHP 의 generators를 이용한, 적은 메모리 사용, 큰 데이타셋 작업
- 대용량 데이터 다루기

- 이전
$users = App\User::all()->filter(function ($user) {
    return $user->id > 500;
});

- LazyCollection 적용 , cursor() 사용
$users = App\User::cursor()->filter(function ($user) {
    return $user->id > 500;
});


* 엘로퀜트 서브쿼리 확장
https://laravel.kr/docs/6.x/eloquent#advanced-subqueries


* 라라벨 UI
이전의 프론트엔드 스캐폴딩이 laravel\ui 컴포저 패키지로 분리됨


* 라라벨 Vapor
오토스케일링 서버리스 개발 플랫폼'인 라라벨 Vapor 과 호환성을 제공
https://vapor.laravel.com/


//-------------------------------------------------------------------

* laravel 5.8 -> 6.0 으로 업그레이드

composer.json 수정
"require": {
        "php": "^7.2",        
        "laravel/framework": "^6.0",
        "mews/purifier": "^3.0",  <=== 3.0 으로 변경
        "laravel/helpers": "^1.2" <===  추가


"require-dev": {
        "phpunit/phpunit": "^8.0"
        "nunomaduro/collision": "^3.0"  <=== 추가
        

//----------------------------
* 업그레이드 명령
sudo systemctl stop nginx php7.3-fpm cron supervisor
sudo killall php7.3

composer update

sudo systemctl start nginx php7.3-fpm cron supervisor



//-----------------------------
* 에러 mcrypt extension 필요
    - 해결방법
- ubuntu mcrypt 모듈 설치
sudo pecl install mcrypt-1.0.2

mcrypt.h not found. Please reinstall libmcrypt.
sudo apt install libmcrypt-dev libreadline-dev

/etc/php/7.3/fpm/php.ini 파일 수정
extension=mcrypt

서버 재시작
sudo systemctl restart nginx php7.3-fpm



//-----------------------------
* 에러 mews/purifier 2.1.0 requires illuminate/filesystem 5.0.*

    - 해결방법

- composer.json 수정
"mews/purifier": "^3.0",  <=== 3.0 으로 변경


//-----------------------------
* 에러 Call to undefined function str_slug()

    - 해결방법

composer require laravel/helpers


//-------------
* 에러 
Updating ezyang/htmlpurifier (v4.10.0 => v4.12.0):     Update failed (Could not delete  /vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer/HTML/4.10.0,42d2529d2d2aa4f137a4d6d6292a92e3ee82eb86,1.ser: )
    - 해결방법

sudo rm -fr ./vendor/ezyang

sudo chown www-data:www-data . -R

composer update




//---------------------------
* 경고 메시지
Package zendframework/zend-escaper is abandoned, you should avoid using it. Use laminas/laminas-escaper instead.
- 원인
 PHPOffice/PHPWord 패키지에서 발생하는 문제

 

//----------------

라라벨 6.0으로 업그레이드 후 소감

의외로 5.8과 호환성이 좋다.

 

하는 김에 php 7.3-> 7.4로 업그레이드 하려고 했으나 의외로 7.4가 까다롭다.

 

반응형
Posted by codens