Comment créer un fichier Phpinfo et vérifier les informations PHP. Livrer des fichiers efficacement en utilisant PHP Informations attentives php

(PHP3, PHP4, PHP5)

phpinfo - affiche de nombreuses informations sur PHP.

Description

int phpinfo()

Affiche une grande quantité d'informations sur l'état actuel de PHP. Cela inclut des informations sur les options et extensions de compilation PHP, la version PHP, les informations sur le serveur et l'environnement (si compilées en tant que module), l'environnement PHP, la version du système d'exploitation, les chemins, les variables d'options de configuration principales et locales, les en-têtes de licence HTTP et PHP. Puisque chaque système est configuré différemment, phpinfo() est généralement utilisé pour vérifier les paramètres de configuration et la disponibilité des variables prédéfinies sur un système donné. Phpinfo() est également un utilitaire de débogage important, car il contient toutes les données EGPCS (Environnement, GET, POST, Cookie, Serveur). La sortie peut être spécialisée en passant un ou plusieurs des éléments suivants constante valeurs de bits additionnées dans le paramètre facultatif quoi. Vous pouvez également combiner les valeurs constantes ou binaires correspondantes à l'aide de l'opération.

Tableau 1. Options de phpinfo()
Nom (constant) Valeur Description INFO_GENERAL1 Chaîne de configuration, emplacement php.ini, date de build, serveur Web, système, etc.INFO_CREDITS2PHP Crédits 4.Voir. également phpcredits() .INFO_CONFIGURATION4Valeurs locales et principales actuelles des directives php.Voir. également ini_get() .INFO_MODULES8 Modules chargés et leurs paramètres correspondants.INFO_ENVIRONMENT16Informations sur les variables d'environnement, également disponibles dans $_ENV .INFO_VARIABLES32Affiche toutes les variables prédéfinies d'EGPCS (Environnement, GET, POST, Cookie, Serveur).INFO_LICENSE64PHP Informations sur la licence.Voir. également FAQ sur la licence .INFO_ALL-1Tout ce qui précède. Il s'agit de la valeur par défaut.

Remarque : certaines parties des informations affichées sont désactivées lorsque le paramètre de configuration expose_php est défini sur off . Cela inclut les logos et crédits PHP et Zend. Voir . Aussi

N'importe lequel logiciel, que vous souhaitez exécuter sur votre serveur Web, doit répondre à certaines exigences. Par exemple, WordPress nécessite PHP version 5.2.4 ou supérieure. Selon le serveur, vous pouvez modifier certains paramètres PHP, d'autres, au contraire, il est interdit de les modifier, cependant, des informations sur chacun d'eux peuvent être trouvées dans le fichier phpinfo. Dans ce tutoriel, vous apprendrez à créer un fichier phpinfo et découvrirez les valeurs et l'état des modules PHP. Cela peut également être utile pour obtenir des informations sur votre compte d'hébergement telles que max_execution_time, memory_limit, post_max_size et autres.

Avant de commencer ce guide, vous aurez besoin des éléments suivants :

  • Accès à votre panneau de contrôle d'hébergement ou à votre compte FTP

Option 1 - Vérification des informations PHP via votre panneau de contrôle d'hébergement

Chez Hostinger, les informations PHP de votre compte se trouvent dans le Avancé → Informations PHP. C’est une fonctionnalité très pratique, puisque vous n’aurez pas besoin de créer de fichiers supplémentaires sur votre hébergement.

Après cela, vous serez redirigé vers une page avec toutes les informations nécessaires sur votre version PHP, vos modules et vos valeurs. Pour rechercher un module ou une fonction spécifique, utilisez la recherche en appuyant sur le raccourci clavier CTRL+F.

Toutes nos félicitations! Vous avez appris comment accéder à vos informations php via le panneau de configuration Hostinger.

Option 2 - Vérification des informations PHP en créant un fichier phpinfo.php

Ne vous inquiétez pas si votre plateforme d'hébergement ne prend pas en charge la fonctionnalité présentée dans Option 1. Le même résultat peut être obtenu en créant un fichier spécial dans votre compte d'hébergement. Le fichier affichera également toutes les informations sur votre PHP et sera accessible via le navigateur.

Étape 2.1 - Créer un fichier phpinfo

Il existe plusieurs façons de créer un fichier phpinfo. Dans ce tutoriel, nous utiliserons . Cependant, le même résultat peut être obtenu en créant un fichier sur votre ordinateur local et en téléchargeant ensuite le fichier sur le serveur via .

Connectez-vous à votre panneau de contrôle d'hébergement et ouvrez Gestionnaire de fichiers . Cliquez sur le bouton Nouveau fichier pour créer un nouveau fichier.

Dans le premier champ, indiquez le chemin où il sera créé nouveau fichier. Ensuite, sur le terrain Nouveau nom de fichier entrer phpinfo.php. Dans la plupart des cas, vous pouvez laisser le chemin inchangé /public_html. Dans ce cas, le fichier sera créé dans le répertoire racine de votre site.

Étape 2.2 - Modification du fichier

A ce stade vous avez déjà un fichier vide phpinfo.php dans le catalogue public_html. Copiez le code suivant dans un fichier et cliquez sur l'icône Sauvegarder dans le coin gauche de l'écran.

Ça y est, vous avez créé avec succès Fichier PHP qui affichera toutes vos options PHP. Comme mentionné précédemment, le même résultat peut être obtenu en utilisant :

  1. Utilisez n'importe quel éditeur de texte et crée un fichier phpinfo.php sur ton ordinateur.
  2. Ajoutez le code suivant au fichier :
  1. Téléchargez le fichier via FTP dans votre répertoire public_html.

Étape 2.3 - Vérification des informations PHP via le navigateur

Si tout a été fait correctement, vous pouvez désormais accéder au fichier créé en ajoutant à la fin de votre nom de domaine /phpinfo.php. Par exemple, http://votredomaine.ru/phpinfo.php

Vous devriez voir un résultat similaire lorsque vous ouvrez cette page via un navigateur :

Sur cette page, vous pourrez voir tous vos paramètres PHP.

Conclusion

En terminant ce tutoriel, vous avez appris à créer un fichier phpinfo et à vérifier vos informations. Paramètres PHP. Cette information est utile si vous souhaitez connaître vos paramètres d'hébergement ou exécuter un logiciel nécessitant certains modules PHP.

Si vous devez transférer des fichiers non pas directement depuis le serveur Web, mais depuis en utilisant PHP(par exemple, pour collecter des statistiques de téléchargement), veuillez sous cat.

1. Utilisez readfile()

L’avantage de cette méthode est qu’elle fonctionne immédiatement. Il vous suffit d'écrire votre propre fonction d'envoi de fichiers (exemple légèrement modifié de la documentation officielle) :

Fonction file_force_download($file) ( if (file_exists($file)) ( // réinitialise le tampon Sortie PHP pour éviter de déborder la mémoire allouée au script // si cela n'est pas fait, le fichier sera entièrement lu en mémoire ! if (ob_get_level()) ( ob_end_clean(); ) // force le navigateur à afficher la fenêtre d'enregistrement de l'en-tête du fichier("Content-Description: Transfert de fichier"); header("Content-Type : application/octet-stream"); ​​​​​header("Content-Disposition: attachment; filename=" . basename($file)); header("Content-Transfer-Encoding: binaire ") ; header("Expire : 0"); header("Cache-Control: must-revalidate"); header("Pragma: public"); header("Content-Length: " . filesize($file)); lire le fichier et l'envoyer à l'utilisateur readfile($file exit);
Même des fichiers volumineux peuvent être envoyés de cette façon, puisque PHP lira le fichier et le remettra immédiatement à l'utilisateur en plusieurs parties. La documentation indique clairement que readfile() ne devrait pas créer des problèmes de mémoire.

Particularités :

  • Le fichier est lu dans le buffer interne de la fonction readfile() dont la taille est de 8ko (merci à 2fast4rabbit)

2. Lisez et envoyez le fichier manuellement

La méthode utilise le même Drupal lors de l'envoi de fichiers depuis un compte privé système de fichiers(les fichiers ne sont pas disponibles directement via les liens) :

Fonction file_force_download($file) ( if (file_exists($file)) ( // réinitialise le tampon de sortie PHP pour éviter de déborder la mémoire allouée au script // si cela n'est pas fait, le fichier sera complètement lu en mémoire ! if (ob_get_level()) ( ob_end_clean(); ) // force le navigateur à afficher la fenêtre d'enregistrement du fichier header("Content-Description: File Transfer"); " . basename($file)); header("Content-Transfer-Encoding: binaire"); header("Expire: 0"); header("Cache-Control: must-revalidate"); header("Pragma: public "); header("Content-Length: " . filesize($file)); // lit le fichier et l'envoie à l'utilisateur si ($fd = fopen($file, "rb")) ( while (!feof ($ fd)) ( print fread($fd, 1024); ) fclose($fd exit;
Particularités :

  • Le script attend que le fichier entier soit lu et remis à l'utilisateur.
  • Vous permet d'économiser la mémoire du serveur

3. Utilisez le module serveur Web

3a. Apache
Le module XSendFile vous permet d'envoyer un fichier à Apache lui-même à l'aide d'un en-tête spécial. Il existe des versions pour Unix et Windows, sous les versions 2.0.*, 2.2.* et 2.4.*

Dans les paramètres de l'hôte, vous devez activer l'interception d'en-tête à l'aide de la directive :
XSendFile activé
Vous pouvez également spécifier une liste blanche de répertoires dans lesquels les fichiers peuvent être traités. Important : si vous disposez d'un serveur basé Chemin Windows doit inclure une lettre de lecteur majuscule.

Description des options possibles sur le site du développeur : https://tn123.org/mod_xsendfile/

Exemple d'envoi d'un fichier :

Fonction file_force_download($file) ( if (file_exists($file)) ( header("X-SendFile: " . realpath($file)); header("Content-Type: application/octet-stream"); ​​​​​en-tête (" Content-Disposition : pièce jointe ; filename=" . basename($file) ) ;

3b. Nginx
Nginx peut envoyer des fichiers prêts à l'emploi via un en-tête spécial.

Pour un fonctionnement correct, vous devez refuser l'accès au dossier directement via le fichier de configuration :
emplacement /protected/ ( interne; racine /some/path; )
Exemple d'envoi d'un fichier (le fichier doit être dans le répertoire /some/path/protected) :

Fonction file_force_download($file) ( if (file_exists($file)) ( header("X-Accel-Redirect: " . $file); header("Content-Type: application/octet-stream"); ​​​​​header( "Contenu -Disposition : pièce jointe ; filename=" . basename($file) ) ;
Plus d'informations sur la page de documentation officielle

Particularités :

  • Le script se termine immédiatement une fois que toutes les instructions sont terminées
  • Physiquement, le fichier est envoyé par le module serveur web lui-même, et non par PHP
  • Consommation minimale de mémoire et de ressources du serveur
  • Performance maximum

Mise à jour: Habrowser ilyaplot donne de bons conseils selon lesquels il est préférable d'envoyer non pas application/octet-stream , mais le vrai type MIME du fichier. Par exemple, cela permettra au navigateur de remplacer programmes nécessaires dans la boîte de dialogue d'enregistrement du fichier.




Haut