>  기사  >  백엔드 개발  >  PHP 이미지 확인 코드가 표시되지 않습니다

PHP 이미지 확인 코드가 표시되지 않습니다

王林
王林원래의
2019-09-30 11:53:443242검색

PHP 이미지 확인 코드가 표시되지 않습니다

문제:

PHP 이미지 확인 코드가 표시되지 않습니다

오류 1:

가장 기본적인 실수는 아마도 PHP에 gd 모듈을 설치하는 것을 잊었다는 것입니다. Window 환경에서는 php.ini 파일에서만 찾으면 됩니다:

;extension=php_gd2.dll

앞에 있는 세미콜론만 제거하면 됩니다. Apache를 다시 시작한 후 phpinfo()에서 이를 찾을 수 있습니다:

PHP 이미지 확인 코드가 표시되지 않습니다

우분투 환경에서는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.