Dans les sites Web construits à l'aide de Nginx et PHP, vous rencontrez souvent le problème que l'image ne peut pas être chargée et affichée. Comprendre les mécanismes des demandes d'image et du traitement des serveurs nous aidera à dépanner et résoudre avec précision ce phénomène.
Lorsque le navigateur charge la page Web, il passera La balise demande la ressource d'image correspondante du serveur. En tant que serveur, Nginx transmetra la demande de fichier PHP à l'analyseur PHP en arrière-plan pour le traitement et renvoie les résultats de traitement au navigateur. Si le chemin d'image dans le code PHP est incorrect ou si la configuration NGINX ne pointe pas correctement vers l'analyseur PHP, les ressources d'image ne sont pas accessibles correctement, ce qui entraîne l'échec de l'affichage de l'image.
Assurez-vous que le chemin d'accès de l'analyseur PHP est correctement défini dans la configuration Nginx pour éviter d'affecter le chargement d'image car le fichier PHP n'est pas analysé correctement. Ce qui suit est un exemple de configuration Nginx couramment utilisé:
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
include fastcgi_params;
}
Cette configuration remettra des demandes PHP au processus FastCGI spécifié pour s'assurer que les fichiers dynamiques peuvent être générés et renvoyés correctement.
L'utilisation de chemins absolus peut empêcher l'image d'être inaccessible en raison d'erreurs de référence de chemin. Le chemin absolu fait ici référence au chemin par rapport au répertoire racine du serveur Nginx, et non au répertoire où se trouve le script PHP. Par exemple:
/images/pic.jpg
Lorsque vous utilisez un chemin absolu, assurez-vous que le fichier image existe réellement sous ce chemin et Nginx a la permission d'y accéder.
La méthode de chargement du chemin relatif est concise et claire, mais il est nécessaire de confirmer que la relation entre le script PHP et le répertoire de fichiers d'image est correcte pour éviter les erreurs de chemin. Par exemple:
./images/pic.jpg
Cette méthode convient au cas où les images et les scripts PHP se trouvent dans le même répertoire ou répertoires adjacents.
Le problème de l'incapacité d'afficher l'image est principalement causé par une configuration de chemin de mauvaise mauvaise ou une configuration de résolution Nginx et PHP incorrecte. En ajustant raisonnablement la configuration de Nginx et en combinant l'utilisation de chemins absolus ou relatifs, la situation de défaillance de chargement d'image peut être résolue efficacement. Il est recommandé de choisir la solution la plus appropriée en fonction de la structure du projet et de l'environnement de déploiement spécifiques pour s'assurer que les images du site Web sont affichées normalement.