Un serveur est juste un nom pour un ordinateur dont le but est de fournir des données à d'autres machines. Le serveur d'un site Web avec un contenu PHP, par exemple , est un ordinateur qui envoie les données du site Web pour les ordinateurs qui visitent ce site. Les systèmes d'exploitation serveur sont comme n'importe quel autre système, y compris les permissions de fichiers de l'utilisateur. Cela peut conduire à " Permission denied " erreurs quand un script PHP tente d'accéder à un fichier avec " get_file_contents ()" ou toute autre méthode qui lit les données du fichier . Les utilisateurs de systèmes
Tous les systèmes d'exploitation modernes ont une architecture multi-utilisateur . Cela protège un utilisateur d'avoir un autre utilisateur d'accéder à ses fichiers et rend également le système d'exploitation plus sécurisé . En limitant certaines tâches à un compte d'administrateur , les virus que l'utilisateur occasionnel peut télécharger ont plus de mal prendre le contrôle du système. Les machines que les sites Web hôte avec contenu utilisent des systèmes d'exploitation PHP qui sont optimisés pour agir en tant que serveurs tout en limitant les utilisateurs d'accéder aux fichiers pour lesquels ils n'ont pas l'autorisation d'ouvrir .
L' interpréteur PHP
Photos
PHP est un langage interprété , ce qui signifie qu'un serveur compile le code source en temps réel comme un utilisateur accède à un fichier avec le code source PHP. Cette compilation en temps réel est réalisé par l'interpréteur PHP . L'interprète agit comme n'importe quel autre morceau de logiciel sur le serveur , l'exécution en vertu d'un utilisateur du système particulier avec les autorisations du système de cet utilisateur. Cet état de fait peut conduire à une " Autorisation refusée " messages si un script PHP tente d'accéder à du contenu d'un fichier particulier .
Proxy logiciels
visiteurs d'un site Web n'interagissent pas directement avec les fichiers de code source sur son serveur . Au contraire, leurs demandes sont traitées par le logiciel de serveur proxy. Ce logiciel prend les demandes de données , comme une page Web en particulier , auprès des usagers. Il récupère ensuite les données qu'ils ont demandés à partir du serveur , puis le transmet à l'utilisateur . Lorsque les administrateurs de serveurs de configurer le logiciel de proxy , il exécute dans le cadre du compte d'un utilisateur particulier . Logiciel Proxy pour les sites PHP engagera l'interpréteur PHP pour exécuter du code PHP, l'interpréteur PHP va travailler sous le même compte d'utilisateur qui exécute le logiciel de proxy.
Permission
Si un script PHP tente d'accéder à un fichier pour lequel le compte d'utilisateur qui exécute le logiciel proxy ne possède pas, ou n'a pas l'autorisation d'ouvrir , puis PHP retournera un "refus d' autorisation " message d'erreur. Les développeurs Web peuvent corriger cette erreur en modifiant la propriété du fichier pour le compte qui exécute le logiciel proxy. Ils pourraient aussi créer un nouveau groupe d'utilisateurs qui inclut à la fois le compte qui possède le fichier et le compte qui exécute le logiciel proxy, puis définir le fichier de laisser quelqu'un dans ce groupe l'ouvrir. Les deux méthodes résoudre le problème.