문제:
오류 1:
가장 기본적인 실수는 아마도 PHP에 gd 모듈을 설치하는 것을 잊었다는 것입니다. Window 환경에서는 php.ini 파일에서만 찾으면 됩니다:
;extension=php_gd2.dll
앞에 있는 세미콜론만 제거하면 됩니다. Apache를 다시 시작한 후 phpinfo()에서 이를 찾을 수 있습니다:
우분투 환경에서는 gd 모듈을 설치해야 합니다. 명령은 다음과 같습니다.
sudo apt-get install php5-gd
설치 후 위 모듈도 볼 수 있습니다.
오류 2:
위 설치 후에도 여전히 작동하지 않으면 다음 문제가 문제일 수 있습니다.
귀하의 코드는 editpuls 또는 notepad++와 같은 텍스트 편집기를 사용하여 편집되었을 가능성이 높으며, 기본 인코딩 형식은 BOM이 포함된 utf-8입니다. UTF-8 BOM은 UTF-8 서명이라고도 합니다. 실제로 UTF-8 BOM은 UTF-16 및 UTF-32를 지원하기 위해 추가되었습니다. 현재 파일에 사용되는 인코딩은 편집기에서 식별하기 편리하지만 BOM이 편집기에 표시되지 않더라도 추가 빈 줄처럼 출력이 생성됩니다.
일반적으로 UTF-8 BOM-free 형식을 사용하므로 코드의 인코딩 형식을 BOM-free 형식으로 변경해야 합니다.
실수 3:
위의 두 단계를 수행했지만 여전히 작동하지 않는 경우 비장의 카드를 사용해야 합니다. 캐시를 지우려면 ob_clean()을 사용하십시오. ob_clean의 기능은 출력 버퍼의 내용을 삭제하는 것입니다. 생성된 이미지 파일이 많은 경우 해당 파일에 올바르게 액세스하려면 버퍼를 자주 지워야 합니다.
public function create() { ob_clean(); $a = new verify(); session::set('captcha', strtolower($a->create(4, 15))); view::assign("captcha", $a); view::display("captcha"); exit(0); }
참고:
더 높은 PHP 버전을 사용하는 경우 정의되지 않은 변수를 사용할 수 없습니다. 그렇지 않으면 공지 오류가 보고되며 $_SESSION['check_checks']는 사용하기 전에 isset으로 판단해야 합니다. 이전 코드를 사용하는 경우 처음에 error_reporting(E_ALL & ~E_NOTICE)을 추가하면 알림 오류가 차단되므로(권장하지 않음) isset()을 사용하여 해당 코드가 정의되어 있는지 확인하세요. 그렇지 않으면 확인을 위해 표시되지 않을 수 있습니다. 암호.
추천 튜토리얼: PHP 비디오 튜토리얼
위 내용은 PHP 이미지 확인 코드가 표시되지 않습니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!