질문 Q #22600
php7 에서 ajax 오류
토끼와거북 2020-08-10 20:47:21

안녕하세요.

이번에 서버 환경을 업데이트 하고 나서 전에 없던 오류가 발생하고 있습니다.

이전환경 :

codeigniter 2.x PHP 5.x

변경환경 :

codeigniter 3.x PHP 7.x

 

하나의 페이지에서 ajax A, ajax B가 동시에 실행됩니다.

ajax A는 메인작업을 진행하고, ajax B는 중간결과물을 1초마다 받아와서 화면에 보여주는 역할을 합니다.

이전 환경에서는 정상작동했는데 새 환경에서는 ajax A가 작업을 종료한 후에야 ajax B가 결과물을 한 번에 보여 주고 있습니다.

PHP 버전에 따라 ajax 작동에 영향을 줄 수 있는지요?

 

원인을 알아보니 테이블을 insert 하면서 동시에 select 하는 것은 되지 않는 것 같습니다.

이전 버전에서는 되었는데 버전업 하면서 해당 기능이 동작하지 않네요.

답변 9
#1 한대승(불의회상) 2020-08-11 09:25:33

참 안타깝네요.

DB에 lock을 거는 코드가 있는건 아닌지 확인해 보세요.

#2 토끼와거북 2020-08-11 09:39:45
코드상으로는 락 거는 게 없습니다. 이전 버전에서 문법 수정된 것만 변경했는데 그렇네요.
#3 한대승(불의회상) 2020-08-11 10:07:05
@토끼와거북 그렇군요.
#4 변종원(웅파) 2020-08-11 10:24:54
db서버가 동일한건데 그런건가요? 스무고개 시작입니다.
#5 토끼와거북 2020-08-11 10:31:44
다 동일하고 코드이그나이터와 PHP 버전만 변경했습니다.
#6 지윤아빠 2020-08-11 12:51:57
ajax 자체의 문제일듯 합니다. 스크립이면 아래 넣으면 될듯하네요
async : true,
cache: true,
#7 토끼와거북 2020-08-11 13:47:57
select 를 실행할 때 DB에 읽음표시를 하는데 PHP7에서는 insert 작업이 완료되고 나서야 select 작업을 진행하네요. ajax이랑은 관계가 없어 보입니다.
#8 변종원(웅파) 2020-08-13 10:37:59
토끼와거북/ 소스 없이는 더 진행이 힘듭니다.  
#9 토끼와거북 2020-08-13 22:51:11
메시지 보냈습니다.