일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 월간코드챌린지시즌2
- java
- MSSQL
- SimpleDateFormat
- level1
- 백준
- bootstrapModal
- Node
- 스킬체크테스트
- bootstrap
- 안드로이드
- 동적웹페이지
- Programmers
- 프로그래머스
- 부트스트랩
- php
- Summer/WinterCoding
- 코딩테스트연습
- 모달
- 스킬체크
- 코딩테스트
- Fullcalendar
- Android
- androidstudio
- 연습문제
- 월간코드챌린지시즌3
- 나머지가1
- modal
- REACT
- AJAX
- Today
- Total
개발하는 고양이 오이
10. [PHP] PHPExcel 사용 오류 - 파일 깨짐 / Array and string offset access syntax / "continue" targeting switch is equivalent to "break" / Trying to access array offset on value of type bool / Fatal error: 'break' not in the 'loop' or 'switch' 본문
10. [PHP] PHPExcel 사용 오류 - 파일 깨짐 / Array and string offset access syntax / "continue" targeting switch is equivalent to "break" / Trying to access array offset on value of type bool / Fatal error: 'break' not in the 'loop' or 'switch'
Cucum 2022. 7. 6. 10:52안녕하세요. 오늘은 PHPExcel 라이브러리를 이용하여 엑셀을 다운로드 받는 코드를 작성하다가 생긴 오류를 해결해서 공유하고자 합니다.
저에게는 총 4개의 오류가 있었습니다.
우선 제 로컬 컴퓨터의 PHP Version은 5.6.29입니다.
코드를 작성 한 후 서버에 업로드 한 후 엑셀을 다운로드를 하니 아래와 같이 파일이 깨졌는데요.
이유를 찾아보니 아무래도 서버 컴퓨터의 PHP Version이 7.4.27여서 버전 차이였던 것 같습니다.
버전을 변경하면 가장 빠르게 해결되겠지만, 서버 컴퓨터쪽은 함부로 건들고싶지않아서 다른 방법으로 해결하고자 했습니다.
① Deprecated: Array and string offset access syntax with curly braces is deprecated in
해결방법 : 오류가 생기는 위치의 파일에 직접 가서 중괄호를 대괄호로 모두 변경해주면 해결됩니다.
{0} -> [0]
② Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"
해결방법 : 오류가 생기는 위치의 파일에 직접 가서 continue를 break로 변경해주면 해결됩니다.
(저는 이 방법으로 해결됐으나, 만약 이 방법으로 해결되지 않는다면 continue를 continue 2로 변경합니다.)
continue -> break
③ Trying to access array offset on value of type bool in DefaultValueBinder
해결방법 : 오류가 생기는 위치의 파일에 직접 가서 아래와 같이 변경했습니다.
} elseif ($pValue [0] === '=' && strlen ($pValue)> 1) {
->
} elseif (0 === strpos($pValue, '=') && strlen($pValue) > 1) {
=>
④ Fatal error: 'break' not in the 'loop' or 'switch' context in Functions.php
해결방법 : 오류가 생기는 위치의 파일에 직접 가서 break를 return으로 변경해주면 됩니다.
break -> return
이렇게 총 4개의 오류가 발생했었고, 이 오류들을 모두 수정해주니 신기하게도 엑셀 파일이 깨지던 현상이 사라지고, 정상적으로 나왔습니다.
찾아보니 php 버전 7.0 이상부터 위의 오류들이 자주 발생하는 것 같은데, 저처럼 수정하면 임시로 수정해둘 수 있는 것 같습니다.
감사합니다.
오류 해결을 위해 참고한 링크 :
https://solbel.tistory.com/2133
https://github.com/Automattic/o2/issues/165
https://www.drupal.org/project/taxonomy_csv/issues/2971042
'PHP' 카테고리의 다른 글
VSCode에서 Github로 업로드 하기 ("error: Unknown subcommand: origin" 에러 해결) (0) | 2022.06.28 |
---|---|
9. [PHP(HTML)] Bootstrap Modal 밖의 영역 눌렀을 때 자동 닫힘 방지 (0) | 2022.06.21 |
8. [PHP] 부트스트랩 멀티모달 순서 (0) | 2022.06.20 |
7. [PHP(HTML)] input type = "number" 에서 양수 값만 작성 (0) | 2022.06.10 |
6. [PHP] DB와 연동된 SelectBox(셀렉트박스) 동적 구성 / SelectBox 선택에 따라 다음 SelectBox 값 변화 (0) | 2022.05.19 |