亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Table of Contents
php error handling, php errors
PHP error handling
Basic error handling: use the die() function
Create a custom error handler
Error reporting level
 
設(shè)置錯(cuò)誤處理程序
觸發(fā)錯(cuò)誤
錯(cuò)誤記錄
通過 E-Mail 發(fā)送錯(cuò)誤消息
Home Backend Development PHP Tutorial php error handling, php error_PHP tutorial

php error handling, php error_PHP tutorial

Jul 12, 2016 am 08:52 AM
php

php error handling, php errors

In PHP, the default error handling is simple. An error message is sent to the browser with the file name, line number, and a message describing the error.

PHP error handling

Error handling is an important part when creating scripts and web applications. If your code lacks error detection coding, the program will look unprofessional and open the door to security risks.

This tutorial covers some of the most important error detection methods in PHP.

We will explain different error handling methods for you:

  • Simple "die()" statement
  • Custom errors and error triggers
  • Bug Report

Basic error handling: use the die() function

The first example shows a simple script to open a text file:

<?php
$file=fopen("welcome.txt","r");
?>

If the file does not exist, you will get an error like this:

Warning: fopen(welcome.txt) [function.fopen]: failed to open stream:
No such file or directory in C:webfoldertest.php on line 2

To avoid users getting error messages like the one above, we check whether the file exists before accessing it:

<?php
if(!file_exists("welcome.txt"))
{
die("File not found");
}
else
{
$file=fopen("welcome.txt","r");
}
?>

Now, if the file does not exist, you will get an error message like this:

File not found

The above code is more efficient than the previous code because it uses a simple error handling mechanism to terminate the script after an error.

However, simply terminating the script is not always the appropriate approach. Let's examine alternative PHP functions for handling errors.

Create a custom error handler

Creating a custom error handler is very easy. We simply created a dedicated function that can be called when an error occurs in PHP.

The function must be able to handle at least two parameters (error level and error message), but can accept up to five parameters (optional: file, line-number and error context):

Grammar

error_function(error_level,error_message,error_file,error_line,error_context)

 

參數(shù)描述
error_level 必需。為用戶定義的錯(cuò)誤規(guī)定錯(cuò)誤報(bào)告級(jí)別。必須是一個(gè)數(shù)字。參見下面的表格:錯(cuò)誤報(bào)告級(jí)別。
error_message 必需。為用戶定義的錯(cuò)誤規(guī)定錯(cuò)誤消息。
error_file 可選。規(guī)定錯(cuò)誤發(fā)生的文件名。
error_line 可選。規(guī)定錯(cuò)誤發(fā)生的行號(hào)。
error_context 可選。規(guī)定一個(gè)數(shù)組,包含了當(dāng)錯(cuò)誤發(fā)生時(shí)在用的每個(gè)變量以及它們的值。

Error reporting level

These error reporting levels are different types of errors handled by user-defined error handlers:

常量描述
2 E_WARNING 非致命的 run-time 錯(cuò)誤。不暫停腳本執(zhí)行。
8 E_NOTICE run-time 通知。在腳本發(fā)現(xiàn)可能有錯(cuò)誤時(shí)發(fā)生,但也可能在腳本正常運(yùn)行時(shí)發(fā)生。
256 E_USER_ERROR 致命的用戶生成的錯(cuò)誤。這類似于程序員使用 PHP 函數(shù) trigger_error() 設(shè)置的 E_ERROR。
512 E_USER_WARNING 非致命的用戶生成的警告。這類似于程序員使用 PHP 函數(shù) trigger_error() 設(shè)置的 E_WARNING。
1024 E_USER_NOTICE 用戶生成的通知。這類似于程序員使用 PHP 函數(shù) trigger_error() 設(shè)置的 E_NOTICE。
4096 E_RECOVERABLE_ERROR 可捕獲的致命錯(cuò)誤。類似 E_ERROR,但可被用戶定義的處理程序捕獲。(參見 set_error_handler())
8191 E_ALL 所有錯(cuò)誤和警告。(在 PHP 5.4 中,E_STRICT 成為 E_ALL 的一部分)

現(xiàn)在,讓我們創(chuàng)建一個(gè)處理錯(cuò)誤的函數(shù):

function customError($errno, $errstr)
{
echo "<b>Error:</b> [$errno] $errstr<br>";
echo "Ending Script";
die();
}

上面的代碼是一個(gè)簡(jiǎn)單的錯(cuò)誤處理函數(shù)。當(dāng)它被觸發(fā)時(shí),它會(huì)取得錯(cuò)誤級(jí)別和錯(cuò)誤消息。然后它會(huì)輸出錯(cuò)誤級(jí)別和消息,并終止腳本。

現(xiàn)在,我們已經(jīng)創(chuàng)建了一個(gè)錯(cuò)誤處理函數(shù),我們需要確定在何時(shí)觸發(fā)該函數(shù)。

設(shè)置錯(cuò)誤處理程序

PHP 的默認(rèn)錯(cuò)誤處理程序是內(nèi)建的錯(cuò)誤處理程序。我們打算把上面的函數(shù)改造為腳本運(yùn)行期間的默認(rèn)錯(cuò)誤處理程序。

可以修改錯(cuò)誤處理程序,使其僅應(yīng)用到某些錯(cuò)誤,這樣腳本就能以不同的方式來處理不同的錯(cuò)誤。然而,在本例中,我們打算針對(duì)所有錯(cuò)誤來使用我們自定義的錯(cuò)誤處理程序:

set_error_handler("customError");

由于我們希望我們的自定義函數(shù)能處理所有錯(cuò)誤,set_error_handler() 僅需要一個(gè)參數(shù),可以添加第二個(gè)參數(shù)來規(guī)定錯(cuò)誤級(jí)別。

實(shí)例

通過嘗試輸出不存在的變量,來測(cè)試這個(gè)錯(cuò)誤處理程序:

Error: [$errno] $errstr";
}

//set error handler
set_error_handler("customError");

//trigger error
echo($test);
?>

以上代碼的輸出如下所示:

Error: [8] Undefined variable: test

觸發(fā)錯(cuò)誤

在腳本中用戶輸入數(shù)據(jù)的位置,當(dāng)用戶的輸入無效時(shí)觸發(fā)錯(cuò)誤是很有用的。在 PHP 中,這個(gè)任務(wù)由 trigger_error() 函數(shù)完成。

實(shí)例

在本例中,如果 "test" 變量大于 "1",就會(huì)發(fā)生錯(cuò)誤:

<?php
$test=2;
if ($test>1)
{
trigger_error("Value must be 1 or below");
}
?>

以上代碼的輸出如下所示:

Notice: Value must be 1 or below
in C:webfoldertest.php on line 6

您可以在腳本中任何位置觸發(fā)錯(cuò)誤,通過添加的第二個(gè)參數(shù),您能夠規(guī)定所觸發(fā)的錯(cuò)誤級(jí)別。

可能的錯(cuò)誤類型:

  • E_USER_ERROR - 致命的用戶生成的 run-time 錯(cuò)誤。錯(cuò)誤無法恢復(fù)。腳本執(zhí)行被中斷。
  • E_USER_WARNING - 非致命的用戶生成的 run-time 警告。腳本執(zhí)行不被中斷。
  • E_USER_NOTICE - 默認(rèn)。用戶生成的 run-time 通知。在腳本發(fā)現(xiàn)可能有錯(cuò)誤時(shí)發(fā)生,但也可能在腳本正常運(yùn)行時(shí)發(fā)生。

在本例中,如果 "test" 變量大于 "1",則發(fā)生 E_USER_WARNING 錯(cuò)誤。如果發(fā)生了 E_USER_WARNING,我們將使用我們自定義的錯(cuò)誤處理程序并結(jié)束腳本:

1)
{
trigger_error("Value must be 1 or below",E_USER_WARNING);
}
?>

以上代碼的輸出如下所示:

Error: [512] Value must be 1 or below
Ending Script

現(xiàn)在,我們已經(jīng)學(xué)習(xí)了如何創(chuàng)建自己的 error,以及如何觸發(fā)它們,接下來我們研究一下錯(cuò)誤記錄。

錯(cuò)誤記錄

在默認(rèn)的情況下,根據(jù)在 php.ini 中的 error_log 配置,PHP 向服務(wù)器的記錄系統(tǒng)或文件發(fā)送錯(cuò)誤記錄。通過使用 error_log() 函數(shù),您可以向指定的文件或遠(yuǎn)程目的地發(fā)送錯(cuò)誤記錄。

通過電子郵件向您自己發(fā)送錯(cuò)誤消息,是一種獲得指定錯(cuò)誤的通知的好辦法。

通過 E-Mail 發(fā)送錯(cuò)誤消息

在下面的例子中,如果特定的錯(cuò)誤發(fā)生,我們將發(fā)送帶有錯(cuò)誤消息的電子郵件,并結(jié)束腳本:

<?php
//error handler function
function customError($errno, $errstr)
{
echo "<b>Error:</b> [$errno] $errstr<br>";
echo "Webmaster has been notified";
error_log("Error: [$errno] $errstr",1,
"someone@example.com","From: webmaster@example.com");
}

//set error handler
set_error_handler("customError",E_USER_WARNING);

//trigger error
$test=2;
if ($test>1)
{
trigger_error("Value must be 1 or below",E_USER_WARNING);
}
?>

以上代碼的輸出如下所示:

Error: [512] Value must be 1 or below
Webmaster has been notified

接收自以上代碼的郵件如下所示:

Error: [512] Value must be 1 or below

這個(gè)方法不適合所有的錯(cuò)誤。常規(guī)錯(cuò)誤應(yīng)當(dāng)通過使用默認(rèn)的 PHP 記錄系統(tǒng)在服務(wù)器上進(jìn)行記錄。

?

原文地址:http://www.manongjc.com/php/php_error.html

php相關(guān)閱讀資料:

  • php 日期
  • PHP包含文件
  • php文件
  • PHP 文件上傳
  • php Cookies
  • php Sessions
  • php email
  • php安全email
  • php錯(cuò)誤處理
  • PHP異常處理
  • php過濾器
  • PHP 高級(jí)過濾器
  • php json
  • php 表單

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1125995.htmlTechArticlephp錯(cuò)誤處理,php錯(cuò)誤 在 PHP 中,默認(rèn)的錯(cuò)誤處理很簡(jiǎn)單。一條錯(cuò)誤消息會(huì)被發(fā)送到瀏覽器,這條消息帶有文件名、行號(hào)以及描述錯(cuò)誤的消息...
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to use PHP to build social sharing functions PHP sharing interface integration practice How to use PHP to build social sharing functions PHP sharing interface integration practice Jul 25, 2025 pm 08:51 PM

The core method of building social sharing functions in PHP is to dynamically generate sharing links that meet the requirements of each platform. 1. First get the current page or specified URL and article information; 2. Use urlencode to encode the parameters; 3. Splice and generate sharing links according to the protocols of each platform; 4. Display links on the front end for users to click and share; 5. Dynamically generate OG tags on the page to optimize sharing content display; 6. Be sure to escape user input to prevent XSS attacks. This method does not require complex authentication, has low maintenance costs, and is suitable for most content sharing needs.

How to use PHP combined with AI to achieve text error correction PHP syntax detection and optimization How to use PHP combined with AI to achieve text error correction PHP syntax detection and optimization Jul 25, 2025 pm 08:57 PM

To realize text error correction and syntax optimization with AI, you need to follow the following steps: 1. Select a suitable AI model or API, such as Baidu, Tencent API or open source NLP library; 2. Call the API through PHP's curl or Guzzle and process the return results; 3. Display error correction information in the application and allow users to choose whether to adopt it; 4. Use php-l and PHP_CodeSniffer for syntax detection and code optimization; 5. Continuously collect feedback and update the model or rules to improve the effect. When choosing AIAPI, focus on evaluating accuracy, response speed, price and support for PHP. Code optimization should follow PSR specifications, use cache reasonably, avoid circular queries, review code regularly, and use X

PHP creates a blog comment system to monetize PHP comment review and anti-brush strategy PHP creates a blog comment system to monetize PHP comment review and anti-brush strategy Jul 25, 2025 pm 08:27 PM

1. Maximizing the commercial value of the comment system requires combining native advertising precise delivery, user paid value-added services (such as uploading pictures, top-up comments), influence incentive mechanism based on comment quality, and compliance anonymous data insight monetization; 2. The audit strategy should adopt a combination of pre-audit dynamic keyword filtering and user reporting mechanisms, supplemented by comment quality rating to achieve content hierarchical exposure; 3. Anti-brushing requires the construction of multi-layer defense: reCAPTCHAv3 sensorless verification, Honeypot honeypot field recognition robot, IP and timestamp frequency limit prevents watering, and content pattern recognition marks suspicious comments, and continuously iterate to deal with attacks.

PHP calls AI intelligent voice assistant PHP voice interaction system construction PHP calls AI intelligent voice assistant PHP voice interaction system construction Jul 25, 2025 pm 08:45 PM

User voice input is captured and sent to the PHP backend through the MediaRecorder API of the front-end JavaScript; 2. PHP saves the audio as a temporary file and calls STTAPI (such as Google or Baidu voice recognition) to convert it into text; 3. PHP sends the text to an AI service (such as OpenAIGPT) to obtain intelligent reply; 4. PHP then calls TTSAPI (such as Baidu or Google voice synthesis) to convert the reply to a voice file; 5. PHP streams the voice file back to the front-end to play, completing interaction. The entire process is dominated by PHP to ensure seamless connection between all links.

How to use PHP to combine AI to generate image. PHP automatically generates art works How to use PHP to combine AI to generate image. PHP automatically generates art works Jul 25, 2025 pm 07:21 PM

PHP does not directly perform AI image processing, but integrates through APIs, because it is good at web development rather than computing-intensive tasks. API integration can achieve professional division of labor, reduce costs, and improve efficiency; 2. Integrating key technologies include using Guzzle or cURL to send HTTP requests, JSON data encoding and decoding, API key security authentication, asynchronous queue processing time-consuming tasks, robust error handling and retry mechanism, image storage and display; 3. Common challenges include API cost out of control, uncontrollable generation results, poor user experience, security risks and difficult data management. The response strategies are setting user quotas and caches, providing propt guidance and multi-picture selection, asynchronous notifications and progress prompts, key environment variable storage and content audit, and cloud storage.

PHP realizes commodity inventory management and monetization PHP inventory synchronization and alarm mechanism PHP realizes commodity inventory management and monetization PHP inventory synchronization and alarm mechanism Jul 25, 2025 pm 08:30 PM

PHP ensures inventory deduction atomicity through database transactions and FORUPDATE row locks to prevent high concurrent overselling; 2. Multi-platform inventory consistency depends on centralized management and event-driven synchronization, combining API/Webhook notifications and message queues to ensure reliable data transmission; 3. The alarm mechanism should set low inventory, zero/negative inventory, unsalable sales, replenishment cycles and abnormal fluctuations strategies in different scenarios, and select DingTalk, SMS or Email Responsible Persons according to the urgency, and the alarm information must be complete and clear to achieve business adaptation and rapid response.

Beyond the LAMP Stack: PHP's Role in Modern Enterprise Architecture Beyond the LAMP Stack: PHP's Role in Modern Enterprise Architecture Jul 27, 2025 am 04:31 AM

PHPisstillrelevantinmodernenterpriseenvironments.1.ModernPHP(7.xand8.x)offersperformancegains,stricttyping,JITcompilation,andmodernsyntax,makingitsuitableforlarge-scaleapplications.2.PHPintegrateseffectivelyinhybridarchitectures,servingasanAPIgateway

PHP integrated AI speech recognition and translator PHP meeting record automatic generation solution PHP integrated AI speech recognition and translator PHP meeting record automatic generation solution Jul 25, 2025 pm 07:06 PM

Select the appropriate AI voice recognition service and integrate PHPSDK; 2. Use PHP to call ffmpeg to convert recordings into API-required formats (such as wav); 3. Upload files to cloud storage and call API asynchronous recognition; 4. Analyze JSON results and organize text using NLP technology; 5. Generate Word or Markdown documents to complete the automation of meeting records. The entire process needs to ensure data encryption, access control and compliance to ensure privacy and security.

See all articles