Dateiberechtigungen und Besitzer einer Staging-Seite ändern

Einige Hosting-Konfigurationen verwenden eine ungewöhnliche Einstellung für den Besitzer und die Berechtigungen einer WordPress-Website.

Zum Beispiel kann dein Hosting-Setup PHP-FPM verwenden, das als Benutzerkonto ausgeführt wird. Wenn PHP auf das Dateisystem zugreift, erstellt es Dateien unter seinem eigenen Namen. WordPress hingegen benötigt möglicherweise andere Berechtigungen, was dazu führt, dass Bilder, die in die Galerie hochgeladen werden, unter dem Webserver-Namen gespeichert werden. Nach dem Erstellen einer Staging-Seite können daher Berechtigungsfehler auftreten.

WP STAGING erstellt eine Staging-Seite mit den Standard-WordPress-Berechtigungen von 755 für Dateien und 644 für Ordner. Der Besitzer ist der Benutzer des PHP-Prozesses, der die Staging-Seite erstellt hat.

Um dies zu beheben, kannst du den Besitzer und die Berechtigungen einer Staging-Seite nach dem Erstellen mit dieser Funktion und diesem Filter ändern:

PHP
<?php

function changePermissionsAndOwner() {

$directory = '/path/to/your/directory';
$permissions = 0755;
$owner = 'username';
$group = 'groupname';

    // Check if the path is a directory
    if (is_dir($path)) {
        // Create a RecursiveDirectoryIterator object
        $directoryIterator = new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::SKIP_DOTS);
        // Create a RecursiveIteratorIterator object
        $iterator = new RecursiveIteratorIterator($directoryIterator, RecursiveIteratorIterator::SELF_FIRST);

        // Iterate through each file and directory in the tree
        foreach ($iterator as $item) {
            // Change the permissions of the current item
            chmod($item, $permissions);
            // Change the owner and group of the current item
            chown($item, $owner);
            chgrp($item, $group);
        }

        // Change the permissions of the root directory
        chmod($path, $permissions);
        // Change the owner and group of the root directory
        chown($path, $owner);
        chgrp($path, $group);
    } else {
        echo "The path is not a directory.";
    }
}

add_action('wpstg.clone_first_run', 'changePermissionsAndOwner', 10);

Dies wird beim ersten Login auf der Staging-Seite ausgeführt und ändert alle Dateien auf die entsprechenden Berechtigungen.

Verwandte Artikel

Updated on März 6, 2026