Les changements de configuration de PHP commune

Voici quelques-unes des modifications de configuration de PHP communs que vous pourriez avoir besoin pour un serveur exécutant PHP, y compris comment modifier les paramètres de session et de désactiver des fonctions et des classes.

Sommaire

Comment changer PHP expiration de la session

Lorsque vous utilisez des sessions pour votre application, les données sont généralement stockées dans des fichiers sur le serveur (si cela aussi peut être configuré dans le php.ini). Sessions sont affectées par un processus de collecte des ordures qui nettoie toutes les sessions morts, tels que ceux qui ont pas été utilisé pendant un certain nombre de minutes.

Par défaut, le processus de collecte des ordures regarde séances avec une durée de vie de 1.440 secondes. Cela signifie que l'utilisateur doit être inactif pendant 1.440 secondes, et sur la prochaine tentative, sa session peut ou ne peut pas être expiré.

Un changement est commune à ce processus de collecte des ordures, généralement pour l'allonger. Ce changement est généralement mis en œuvre dans la configuration du serveur-large, mais peut appliquer au niveau du site aussi.

La php.ini paramètre pour contrôler ce comportement est

session.gc_maxlifetime = 1440

Comment faire pour modifier d'autres paramètres de session PHP

De nombreux autres paramètres peuvent être configurés pour contrôler la façon dont se comportent les sessions. Des choses comme où les fichiers de session sont enregistrés sur le serveur et si elles utilisent des cookies sont disponibles pour être changé. Certains des changements les plus communs comprennent la création du domaine pour le cookie de session et le nom de la session.

Ces deux éléments sont généralement fixés au niveau du site. La valeur par défaut pour le cookie_domain est vide, comme en témoigne ici:

session.name = PHPSESSIDsession.cookie_domain = 

Comment désactiver les fonctions et de classes PHP

Vous pouvez utiliser le php.ini pour désactiver des fonctions ou des classes intégrées. Vous trouverez peut-être que vous ne voulez pas que les gens qui utilisent certaines fonctions PHP ou il pourrait y avoir une faille de sécurité découverte dans une certaine fonction. Dans tous les cas, vous pouvez désactiver la fonction ou de la classe en utilisant ces directives:

disable_functions = disable_classes =

Chaque fonction attend une liste des fonctions ou des classes séparées par des virgules à être désactivée. Par exemple, vous voudrez peut-être désactiver le exec () fonction. La liste suivante montre une page PHP simple de tester cette fonctionnalité.

? lt; php $ passwd = exec ("ls -la / etc / passwd") - print "{$ passwd}
n "->

Lorsqu'on regarde dans un navigateur, la page ressemble à ceci:

image0.jpg

Modification de la php.ini pour désactiver cette fonction signifie utiliser cette directive:

disable_functions = exec

Une fois Apache est redémarré, le changement prendra effet. Recharger la page maintenant pour résultat l'avertissement montré.

image1.jpg

Si vous utilisez un fournisseur d'hébergement, la exec () fonction peut déjà être désactivé. En outre, vous ne pouvez pas voir l'avertissement si votre configuration de PHP ne pas afficher les erreurs.

Comment changer l'affichage d'erreur PHP


Il ya plusieurs directives de configuration autour de l'écran d'erreur pour PHP. Par exemple, un serveur de développement serait probablement erreurs à tout moment afficher. Il est fixé à la display_errors directive:

display_errors = ON

Un serveur de production serait probablement jamais afficher les erreurs à l'utilisateur:

display_errors = Off

Une directive connexe est la error_reporting directive. Cette directive complexe informe PHP ce que pour afficher des erreurs. Vous pouvez configurer PHP signaler uniquement les erreurs qui sont fatales ou vous pouvez afficher les erreurs mineures comme avis.

La error_reporting directive est quelque peu complexe. Voir PHP.net pour plus d'informations si vous devez modifier cette directive.

Comment changer les limites des ressources PHP

Il ya des moments où vous avez besoin de modifier la taille maximale de fichier autorisée, lorsque le fichier est reçu par un formulaire POST ou téléchargés directement ou reçus dans un autre façon tout à fait. La upload_max_filesize directive définit la taille maximale des fichiers qui peuvent être téléchargés, tandis que le post_max_size directive définit la taille maximale d'une forme POST. Si vous autorisez formes de télécharger des fichiers, les chances sont que vous avez besoin de changer les deux directives.

En outre, vous pouvez constater que vous avez besoin de changer les limites de mémoire imposées à un script PHP ou l'heure d'exécution exécution d'un script. Par exemple, si un utilisateur est un grand ajout de fichier, il peut prendre plusieurs minutes. La memory_limit directive fixe la quantité de mémoire qui peut être utilisé par un programme de PHP, et la max_execution_time directive définit combien de temps un programme peut fonctionner.

Vous pouvez modifier la durée maximale d'un script en changeant la max_execution_time dans le php.ini ou en utilisant le set_time_limit () fonction au sein d'un script individu. La set_time_limit () fonction est une voie commune pour résoudre le problème d'un script de longue durée tout en préservant la grande serveur max_execution_time la valeur de directive.


» » » » Les changements de configuration de PHP commune