En server er bare et navn på en datamaskin hvis formål er å levere data til andre maskiner . Serveren for en nettside med PHP innhold , for eksempel , er en datamaskin som sender nettstedets data til datamaskiner som besøker det nettstedet. Server operativsystemer er akkurat som alle andre systemer, inkludert bruker filrettigheter. Dette kan føre til " tilgang"- feil når et PHP-skript forsøker å få tilgang til en fil med " get_file_contents ( )" eller noen annen metode som leser i datafilen. System Brukere
Alle moderne operativsystemer har et flerbrukermiljø arkitektur. Dette beskytter en bruker fra å ha en annen bruker tilgang til sine filer og også gjør operativsystemet sikrere. Ved å begrense visse oppgaver til en administratorkonto , virus som en vanlig bruker kan laste ned har vanskeligere for å få kontroll over systemet. Maskinene som vert nettsteder med PHP innhold bruker operativsystemer som er optimalisert til å fungere som servere samtidig hindrer brukere tilgang til filer som de ikke har tillatelse til å åpne .
PHP tolk
PHP er et tolket språk , noe som betyr at en server kompilerer kildekoden i sanntid som en bruker åpner en fil med PHP kildekoden . Denne real -time kompilering gjøres av PHP tolk . Tolken fungerer som alle andre stykke programvare på serveren, utfører under en bestemt system bruker med at brukerens system tillatelser . Dette faktum kan føre til " Permission Denied " meldinger når et PHP-skript forsøker å få tilgang til et bestemt filens innhold .
Proxy-programvare
besøkende til et nettsted ikke samhandle direkte med filene med kildekoden på sin server . Snarere er deres forespørsler behandles av proxy-server programvare . Denne programvaren tar forespørsler om data , for eksempel en bestemt webside , fra brukerne . Deretter henter dataene de etterspør fra serveren , går så det tilbake til brukeren . Når server administratorer konfigurere proxy-programvare , utfører det som en del av en bestemt brukers konto . Proxy-programvare for PHP-nettsider vil engasjere PHP tolk for å utføre PHP kode , så PHP-tolken skal jobbe under samme brukerkonto som kjører proxy-programvare .
Tillatelser
p Hvis et PHP-skript forsøker å få tilgang til en fil som brukerkontoen som kjører proxy-programvare ikke eier , eller har ikke tillatelse til å åpne , så PHP vil returnere en " Permission Denied " feilmelding. Webutviklere kan fikse denne feilen ved å endre filens eierskap til kontoen som kjører proxy-programvare . De kunne også opprette en ny brukergruppe som inkluderer både den kontoen som eier filen og kontoen som kjører proxy-programvare , og deretter sette filen til å la noen i denne gruppen åpne den. Begge metodene vil løse problemet.