RechercheWiki:

En Français

En Anglais

Persos

Jeux

Megadrive

MegaCD

32X

Changements récents Imprimable Historique Éditer page

L'information suivante apparaît après avoir appuyé sur "Enregistrer" dans la page d'édition:

Warning: fopen("wiki.d/Main.HomePage", "w") - Permission denied in .../pmwiki.php on line 490

Warning: Cannot add header information - headers already sent by (output started at .../pmwiki.php:490) in .../pmwiki.php on line 287

PmWiki can't process your request

Cannot write text to Main.HomePage (Main.HomePage)

We are sorry for any inconvenience.

Cause possible

En essayant de restaurer le wiki à partir d'une copie de sauvegarde, l'utilisateur copie les fichiers wiki dans le dossier wiki.d. Les nouvelles copies fraîchement transférées ont des attributs de propriété et de permissions impropres. Par exemple, si le nom de l'utilisateur sur un système est "qwerty", alors le propriétaire des fichiers transférés sera "qwerty" .

Note: Les fichiers créés par PmWiki ont leur attributs de permission fixé à 664 (-rw-rw-r--) et usuellement le propriétaire est "www", le serveur web. Celui-ci peut également fonctionner sous un nom différent, tel que "nobody".

Solutions

La meilleur solution est de ré-initialiser l'attribut de propriété des fichiers. Cela pourrait être fait avec la commande unix chown, mais seulement les super-utilisateurs y ont accès. Voici d'autres options:

Solution #1.

Ecrivez un script de restauration qui fonctionnera depuis le serveur pour copier votre ancien dossier wiki.d dans un nouveau. Il copiera les fichiers depuis oldwiki.d vers wiki.d, mais les nouveaux fichiers appartiendront à www et auront les permissions correctes. Pour ce faire:

  • renommez votre ancien dossier wiki.d en oldwiki.d
  • changez les permissions de votre dossier pmwiki à 2777
  • écrivez le scripte php suivant:
        <?php
        mkdir("wiki.d");
        umask(002);
        system("/bin/cp oldwiki.d/* wiki.d");
        ?>
  • placez le scripte dans votre dossier pmwiki et appelez le dans un navigateur; cela aura fonctionné si rien ne s'affiche.

Si les permissions ont également besoin d'être ré-intialisées, écrivez le scripte suivant:

        <?php system("/bin/chmod 664 wiki.d/*"); ?>

De la même manière, placez le scripte dans votre dossier pmwiki et appelez le dans un navigateur; cela aura fonctionné si rien ne s'affiche.

Solution #2.

Vous pouvez renommer wiki.d en oldwiki.d et l'ajoutez à la liste des dossiers scrutés, et laissez PmWiki créer et s'occuper d'un nouveau dossier wiki.d. Ajoutez simplement:

   $WikiLibDirs = array("wiki.d","oldwiki.d","wikilib.d");

dans local.php (ndt:aka config.php). Cela indiquera à PmWiki de regarder dans wiki.d, oldwiki.d, et wikilib.d pour chercher les pages à afficher. Cependant, toute les pages éditées iront dans "wiki.d" (ou dans n'importe quel autre endroit indiqué par la variable $WikiDir).

Solution #3.

Vous pouvez aussi copiez vos fichiers directement dans wikilib.d, mais il est préférable de réserver ce dossier pour la distribution PmWiki.

Solution #4.

Fixez les permissions à 777 pour tous les fichiers restaurés. Cela représente un risque de sécurité, et n'est pas une solution recommandée.


<< Notes de versions | Index doc admin | AcceptPathInfo? >>


Traduction de PmWiki:ResettingPagePermissions - Page originale sur PmWiki:PmWikiFr.RéinitialisationDesPermissionsDePage

Éditer page - Historique - Imprimable - Changements récents - Aide - RechercheWiki
Page mise à jour le 31 décembre 2004 à 14h44