서버 업그레이드 후 imagecreatefromjpeg() 작동이 중지됨

서버 업그레이드 후 imagecreatefromjpeg() 작동이 중지됨

우리는 Solaris/Apache/PHP를 실행하는 현지 회사의 사업장에 서버를 두고 있습니다. 최근에는 Solaris, Apache 및 PHP(보안 업데이트 패치 등)에 대한 업데이트를 수행했습니다. 불행하게도 이로 인해 우리 소프트웨어의 이미지 조작 부분이 손상되었습니다. imagecreatefromjpeg()에서 이제 다음 오류가 발생합니다.

경고: imagecreatefromjpeg() [function.imagecreatefromjpeg]: '/path/to/file/filename.jpg'는 XX행의 /path/to/file/Image.class.php에 있는 유효한 JPEG 파일이 아닙니다.

서버 업그레이드 중에 PHP 코드가 변경되지 않았으며 소프트웨어 업그레이드 전에는 완전히 작동했습니다. imagecreatefromjpeg()에 전달되는 파일을 확인했는데 실제로 유효합니다(이미지 편집 소프트웨어와 브라우저 모두에서 성공적으로 열립니다). 파일이 열리는 디렉토리의 권한을 확인했는데 읽기 권한이 있습니다. GD 라이브러리가 활성화되었습니다.

그 밖에 무엇을 확인할 수 있는지 잘 모르겠습니다. 위의 시나리오를 바탕으로 소프트웨어에서 뭔가 변경된 것으로 추측하지만 그것이 무엇인지는 알 수 없습니다. PHP는 버전 5.2.5에서 현재는 5.2.13입니다.

이 문제의 원인이 무엇인지 알려주시면 감사하겠습니다.

답변1

아이디어..

  • php.ini가 대체, 변경되었거나 읽혀지지 않습니다. 백업을 시스템의 현재 백업과 비교합니다.
  • 새 패키지는 다양한 옵션으로 컴파일됩니다. 다음을 실행하여 새 것과 오래된 것을 비교하십시오.php -i

관련이 없어 보이지만 권한 및 리소스 가용성(메모리)과 같은 기본 사항을 확인하면 문제를 격리하는 데 잠재적으로 도움이 될 수도 있습니다.

다른 오류는 없나요?

답변2

분명히 최신 jpeg 라이브러리는 시스템의 다른 것과 호환되지 않았습니다. 이전 jpeg 라이브러리로 다시 전환하면 다시 작동하기 시작했습니다.

관련 정보