https://xe1.xpressengine.com/index.php?mid=download&package_id=22753797
저희는 첨부가 안되서 소스를 보면 data-autoattach="download-failure" 가 들어가 있네요.
다른 자료문제일까 살펴봤는데 다른 자료영향은 아닐 것 같아서 다른분들 되시는지 문의 드립니다.
이 애드온 말고 저희가 rss 수집해서 이미지를 첨부하는 것도 있는데 그 것도 안되네요.
저희는 php5.59 입니다.
댓글 9
확인해 보니 FileHandler::getRemoteFile()에서 다운로드에 성공했다고 true를 반환하는데 실제로 다운로드된 파일은 0바이트입니다. 이미지 자동첨부 애드온에서는 0바이트짜리 파일은 실패로 취급하고요.
근데 동일한 서버에서 따로 스크립트를 만들어 FileHandler::getRemoteFile()만 실행해 보면 동일한 파일이 잘 다운로드되는군요. 무슨 차이가 있는 건지...
XE자료들에서 이러한 문제가 발생을 하고 있고 말씀 하신 스크립트는 괜찮다고 하시니...
기술적으로는 잘 모르는 저 같은 사람은 그렇게 해석이 되어집니다.
classes/file/FileHandler.class.php 388줄에 이런 내용이 있을 거예요.
$result = self::getRemoteResource($url, $body, $timeout, $method, $content_type, $headers, $cookies, $post_data, $request_config);
그 바로 밑줄에 이렇게 추가해 주세요.
self::clearStatCache($target_filename);
없어도 원래 잘 되었던 것이 왜 갑자기 문제를 일으키는지는 모르겠지만, 아무튼 이번에 코어에서 변경된 파일을 일일이 clearstatcache해주는 기능이 들어가면서 나타난 부작용인 것 같습니다. 방금 만들어진 파일의 크기를 제대로 측정하지 못하네요.
애드온패치도 따로 적용해 보겠습니다. 도움 감사합니다.