Niektóre konfiguracje Hostingu używają nietypowej konfiguracji właściciela i uprawnień witryny WordPress.
Na przykład twoja konfiguracja Hostingu może używać PHP-FPM uruchamianego jako konto użytkownika, więc gdy PHP uzyskuje dostęp do systemu plików, tworzy pliki pod własną nazwą. WordPress z kolei może wymagać innych uprawnień, co prowadzi do obrazów wysyłanych do galerii pod nazwą serwera webowego. Tak więc po utworzeniu witryny staging możesz otrzymywać błędy uprawnień.
WP Staging tworzy witrynę staging z domyślnymi uprawnieniami WordPress 755 dla plików i 644 dla folderów. Właścicielem jest użytkownik procesu PHP, który utworzył witrynę staging.
Aby to naprawić, możesz zmienić właściciela i uprawnienia witryny staging po jej utworzeniu, używając tej funkcji i filtra:
<?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);
To uruchomi się przy pierwszym logowaniu na witrynę staging i zmieni wszystkie pliki na odpowiednie uprawnienia.