2015-10-20 1 views
2

Lorsque je tente de modifier les autorisations d'un fichier, il finit soit 0666 ou 0444. Ne peut pas changer pour 0777 ou 0755.PHP - chmod ne fonctionnera pas correctement

par exemple:

chmod('test.php', 0777) // or 0755 
echo substr(decoct(fileperms('test.php')), 2); 

il change des autorisations à 0666.

chmod('test.php', 0000) 
echo substr(decoct(fileperms('test.php')), 2); 

il change les autorisations pour 0444.

Répondre

2

Le répertoire mu La propriété sera la propriété de l'utilisateur invoquant le script (généralement www-data, apache ou httpd si vous exécutez le script dans une configuration apache/* NIX). Un utilisateur ne peut pas définir 777 autorisations sur les répertoires qu'il ne possède pas.

Voir la note sur la chmod()

L'utilisateur actuel est l'utilisateur sous lequel PHP fonctionne. Ce n'est probablement pas le même utilisateur que vous utilisez pour un accès shell ou FTP normal. Le mode peut être modifié uniquement par l'utilisateur qui possède le fichier sur la plupart des systèmes.

+0

Je suis sous Windows 8.1 et Apache exécute SYSTEM en tant qu'utilisateur. J'ai changé le dossier "www" (usıng WAMPServer) et tous les sous-dossiers/propriétaires de fichiers à SYSTEM mais ne fonctionneront toujours pas. – ksmsk