1. 현재 환경
rhymix_version : 2.1.18
php : 7.4.33 (64-bit)
server : nginx/1.18.0
baseurl : https://naseller.com/
[System Settings]
db.type : mysql (innodb, utf8mb4)
db.version : 8.0.39-0ubuntu0.22.04.1
2. 최근 라이믹스를 신규로 설치해서 사이트를 만드는 중에 있습니다.
로그인 상태에서는 문제가 없지만 로그 아웃 후 사이트 진입을 시도하면 에러가 발생하는 문제로 에러로그를 살펴 보니 로그인인 안되는 문제와 연관이 있을지 모르지만 포인트 히스토리에서 아래와 같은 쿼리 에러 메지지를 발견했습니다.
포인트 히스토리 모듈 ( https://xetown.com/download/22508 ) new Object를 new BaseObject 변경 상태이고 운영중인 다른 사이트 php7.2에서는 정상 사용중인 모듈입니다.
3. 포인트히스토리 에러 로그
05. Query Error: SQLSTATE[42000]: Syntax error or access violation: 1140 In aggregated query without GROUP BY, expression #2 of SELECT list contains nonaggregated column 'nasellerdb.pointhistory_status.point'; this is incompatible with sql_mode=only_full_group_by (code -1)
06. Notice: Trying to get property 'count' of non-object
- modules/pointhistory/pointhistory.controller.php line 174
- modules/pointhistory/pointhistory.controller.php line 106
- modules/pointhistory/pointhistory.controller.php line 27
- classes/module/ModuleHandler.class.php line 1336
- classes/module/ModuleHandler.class.php line 307
- index.php line 60
07. Query Error: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '0' for key 'rx_pointhistory_status.PRIMARY' (code -1)
08. Query Error: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '20241018' for key 'rx_pointhistory_status.PRIMARY' (code -1)
4. 쳇 gpt 에 해당 에러에 대해서 아래와 같은 답변을 받았습니다.
구체적으로 에러 메시지를 분석해보면:
Duplicate entry '0' for key 'rx_pointhistory_status.PRIMARY': 이 오류는 rx_pointhistory_status 테이블의 기본 키가 '0'인 레코드가 이미 존재하는데, 또 다시 '0'을 삽입하려고 시도했을 때 발생합니다. 일반적으로 기본 키는 유일해야 하므로, 동일한 값이 두 번 들어갈 수 없습니다.
Duplicate entry '20241018' for key 'rx_pointhistory_status.PRIMARY': 이 오류는 20241018이라는 값이 기본 키로 설정된 상태에서 또다시 동일한 값을 삽입하려고 시도했음을 나타냅니다.
동일 포인트 히스토리 모듈을 단지 php 버젼만 다른 7.2에서 정상 사용중인데 혹시 원인이 무엇일지 도움 부탁드립니다.