PHP의 오류 유형은 다음과 같습니다. 1. 프로그램 자체의 오류 3. 운영 체제로 인한 차이 5. SAPI 오류 8. 오류 처리기를 정의합니다.
추천: "PHP 동영상 튜토리얼"
PHP 오류 유형
먼저, 프로그램 자체의 오류
이런 종류의 오류는 다음과 같이 비교적 처리하기 쉬운 오류입니다. 문법 오류 또는 컴파일러가 이러한 오류를 구문 분석할 수 없습니다. 이러한 오류는 컴파일을 통과하지 못합니다. 그런 다음 오류 프롬프트에 따라 특정 오류 코드를 찾을 수 있습니다. 그러나 eval()을 사용하여 실행한 코드에 오류가 발생하면 컴파일 중에는 찾을 수 없으며 코드가 실행될 때까지만 기다릴 수 있으며 다음 코드를 실행하면 오류가 발생합니다. 실행 프로세스 오류:
<?php echo "this will be echo to putty"; eval("php error when parser"); ?>
이 오류는 에코가 출력되기 전에 다른 코드 오류와 다릅니다. 컴파일이 통과되지 않고 실행되지 않으므로 다른 코드 오류에 대한 출력은 없습니다.
두 번째, 정의되지 않은 기호
PHP를 실행하면 PHP가 컴파일할 때 모든 기호 이름, 함수 이름 등을 완전히 이해하지 못하기 때문에 자신이 모르는 많은 변수, 함수 및 기타 이름이 발생할 수 있습니다.
정의되지 않은 상수나 변수일 경우 알림 형식일 뿐입니다. 그러나 정의되지 않은 함수나 클래스가 발견되면 프로그램이 종료됩니다. 찾을 수 없는 클래스에 대해 사용자가 __autoload라는 함수를 정의하면 PHP가 정의되지 않은 클래스를 발견할 때 호출됩니다. 이 함수를 통해 클래스를 반환할 수 있으면 새로 로드된 클래스가 사용됩니다.
세 가지 보편적인 오류
3.1 운영 체제로 인한 차이점
특수 플랫폼에서만 사용할 수 있는 일부 PHP 기능입니다.
특정 플랫폼에서는 사용할 수 없는 일부 PHP 기능입니다.
플랫폼마다 약간 다른 일부 PHP 함수.
파일 이름에서 경로 구성 요소를 구별하는 문자입니다.
일부 플랫폼에서는 외부 프로그램이나 서비스를 사용할 수 없습니다.
3.2 PHP 구성 차이점
예를 들어 Magic_quotes_gpc 구성 옵션이 켜져 있으면 PHP는 모든 외부 데이터에 슬래시를 추가합니다. 이때, 이 옵션을 활성화하지 않고 프로그램을 다른 서버에 이식하면 사용자 입력에 문제가 발생하게 됩니다. 유사한 차이점을 처리하는 방법은 PHP 코드를 확인하고 ini_get() 함수를 통해 옵션이 활성화되어 있는지 확인한 다음 통합 조정하는 것입니다.
register_globals : 이 설정은 PHP가 GET, POST, 쿠키, 환경 변수 또는 서버 변수를 전역 변수로 도입할지 여부를 결정합니다. 일반적으로 피합니다.
allow_url_fopen: 이 옵션을 false로 설정하면 URL 파일 운영 기능이 꺼집니다.
3.3 SAPI 차이점
4. 작업 오류
하드 디스크 데이터나 네트워크 작업 및 데이터베이스 호출 시 PHP 자체 이외의 요인으로 인해 발생하는 오류 등입니다.
5. PHP 오류
PHP의 오류 메커니즘은 모든 PHP 내장 함수에서 사용됩니다. 일반적으로 이 간단한 메커니즘은 일부 기본 오류 관련 정보를 포함하여 오류 메시지를 인쇄합니다.
오류 수준은 다음과 같이 나뉩니다.
E_ERROR:严重错误。 E_WARNING:最普通的错误类型。 E_PARSE:解析错误在编译的时候发生。 E_STRICT:这个错误级别是唯一不包含在E_ALL常量中的,为了让PHP4到PHP5的迁移更加容易。 E_NOTICE:表示运行的代码可能在操作一些未知的事情。 E_CORE_ERROR:由于扩展启动失败等导致的。 E_COMPILE_WARNING:编译的时候出现的警告,告诉用户一些不推荐使用的语法信息。 E_COMPILE_ERROR:编译错误。 E_USER_ERROR E_USER_WARNING 可以用error_reporting(Integer)函数来设置哪些错误被报告。如所有的错误,表示为E_ALL ,除了通告以外的所有错误,可以表示为E_ALL & ~E_NOTICE. display_errors(boolean):这个设置控制错误是否作为PHP输出的一部分显示出来。 log_errors(boolean),这个设置控制错误是否记录。日志的地址是通过error_log(String)设置决定的。默认情况下,错误被记录到WEB服务器的错误日志中。 html_errors(boolean):设置控制是否在错误信息中采用HTML格式 。
Six, 오류 처리기 정의
set_error_handler(error_handle_function,error_types)를 호출하여 오류 처리기를 지정할 수 있습니다. 예:
function customError($errno, $errstr, $errfile, $errline) { echo "<b>Custom error:</b> [$errno] $errstr<br />"; } set_error_handler("customError"); // 默认为所有的错误,就是E_ALL.
위 내용은 PHP의 오류 유형은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!