


Explication détaillée de la gestion des erreurs PHP en mode développement et en mode produit
Les erreurs de programme sont toujours inévitables, même si nous avons été très prudents lors de l'écriture du code.
Lors du développement de programmes php, nous espérons que lorsque nous rencontrons des erreurs php, elles pourront nous être affichées dès que possible pour faciliter le débogage. Lorsque le programme est développé et devient un produit formel, nous espérons enregistrer des messages d'erreur inattendus dans le journal des erreurs au lieu d'afficher ces messages d'erreur aux utilisateurs, car les utilisateurs sont très susceptibles de les utiliser pour exposer des chemins de script, des informations sur la base de données ou d'autres messages d'erreur. indiquer des opérations de piratage destructrices.
Gestion des erreurs PHP
Si le script php rencontre une erreur lors de l'exécution, elle sera traitée sous la forme d'une erreur. Certaines erreurs termineront le script et continueront. exécution après que l'erreur soit signalée. Certains ne le feront pas, veuillez vous référer au manuel pour plus de détails.
La méthode de gestion des erreurs de PHP est basée sur les options de configuration suivantes. Ces configurations peuvent être déclarées dans le code ou définies dans le fichier php.ini. Si vous n'avez pas besoin de modifier fréquemment ces configurations, il est recommandé de les définir dans le fichier php.ini pour rendre votre code plus propre et plus concis.
# 是否打印错误信息到浏览器/命令行界面 # 开发模式下建议开启,产品模式下强烈建议关闭 ini_set('display_errors', 'On'); # 是否记录错误信息到日志 # 开发模式和产品模式下都建议开启 ini_set('log_errors', 'On'); # 指定错误信息日志文件,若开启了 log_errors 选项,记得指定日志文件位置 # 要确保执行 php 脚本的系统用户拥有该文件的 write 权限,否则日志无法被写入 ini_set('error_log', '/usr/local/php/errors.log'); # 该选项用以设定错误报告的等级 # 等同于 error_reporting(E_ALL) # 无论开发模式还是产品模式下都建议开到E_ALL(报告所有的错误信息) # 产品模式下也需要设置此选项,因为关闭了 display_errors 并开启了 log_errors # 所以浏览器/命令行界面不会因此暴露报错信息 ini_set('error_reporting', E_ALL);
De plus, PHP fournit également aux développeurs une fonction intégrée pour enregistrer des informations d'erreur personnalisées dans le fichier journal des erreurs dans le code :
bool error_log ( string $message [, int $message_type = 0 [, string $destination [, string $extra_headers ]]] )
Le paramètre requis est message, appelant cette fonction écrira le message dans le fichier error_log défini dans php.ini.
Gestion des erreurs définie par l'utilisateur
De plus, les utilisateurs peuvent gérer le script exécuté de manière personnalisée grâce à la fonction :
mixed set_error_handler ( callable $error_handler [, int $error_types = E_ALL | E_STRICT ] )
Si l'utilisateur enregistre un gestionnaire d'erreurs et spécifie les types d'erreurs, puis lorsque des erreurs de ces types d'erreurs se produisent, le gestionnaire d'erreurs standard de PHP
sera contourné (c'est-à-dire qu'aucun message d'erreur ne sera généré, le message d'erreur ne sera pas enregistré), mais le gestionnaire dans error_handler sera exécuté.
Pour une utilisation détaillée de cette fonction, veuillez vous référer au manuel (https://www.php.net/manual/zh/function.set-error-handler.php)
Recommandé tutoriels d'articles associés : tutoriel php
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

TheseCreTokeepingaphp propulséedwebsiterunnings omanlyderheayloadoLinvolveSeveralKeySTRATÉES: 1) Implémentez le codécachement de la réception de l'option d'épreuve de base

Vous devez vous soucier de la dépendance injection (DI) car cela rend votre code plus clair et plus facile à entretenir. 1) La DI le rend plus modulaire en découplant les classes, 2) améliore la commodité des tests et de la flexibilité du code, 3) Utiliser des conteneurs DI pour gérer les dépendances complexes, mais faire attention à l'impact des performances et aux dépendances circulaires, 4) La meilleure pratique consiste à s'appuyer sur des interfaces abstraites pour atteindre un couplage lâche.

Oui, optimiseraPhpApplicationIspossibleBessential.1) implémentcachingusingapcutoredataBaseLoad.2) optimizedatabases withithindexing, efficienceseries, andconnectionpooling.3) améliorez les codéins de bobuilt, évitant les Globalvariables, et les codéins de bobuil

The KeystrategiestosiglyboostphpapplicationPerformanceAre: 1) useopCodecachingLILYOPCACHETOREDUCEEXECUTURSTime, 2) OptimizedatabaseInterActionSwithPreparedStatements andproperIndexing, 3) ConfigurewebserVerslikenginxWithPhp-fpmForBetterformance, 4)

AphpdependencyInjectionContaineeRisatool That ManageSclassDensences, améliorant le codemodularité, la testabilité et la participation.

Sélectionnez DependencyInjection (DI) Pour les grandes applications, le service de service convient aux petits projets ou prototypes. 1) DI améliore la testabilité et la modularité du code par injection de constructeur. 2) Servicelocator obtient des services par l'enregistrement du centre, ce qui est pratique mais peut entraîner une augmentation du couplage du code.

PhpapplicationsCanBeoptimizedForsPeedAndFiciency: 1) AutoringOpCacheInphp.ini, 2) Utilisation de PreparedStatementswithpodOrdatabasequeries, 3) Remplacingloopswitray_filterandArray_Mapfordataprocessing, 4) Configurationnginxasareproxy, 5)

PhpemailvalidationInvolvesthestreps: 1) formatvalidationusinggularexpressionstochecktheemailformat; 2) dnsvalidationtoensethedomainhasavalidmxrecord; 3) smtpvalidation, themostthoroughMethod.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

ZendStudio 13.5.1 Mac
Puissant environnement de développement intégré PHP

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

VSCode Windows 64 bits Télécharger
Un éditeur IDE gratuit et puissant lancé par Microsoft

SublimeText3 Linux nouvelle version
Dernière version de SublimeText3 Linux

SublimeText3 version anglaise
Recommandé : version Win, prend en charge les invites de code !
