linux — функция копирования PHP работает в Red Hat 5, но не в Red Hat 7 для копирования файлов в удаленный общий каталог samba

function check_readwrite($_mnt, &$Status)
{
$t = "Checking to see if we can write to the queue...<br>";
$retval = @copy("/etc/fstab",$_mnt . "testfile.part");
if($retval == 1)
{
$t .= "<font color='blue'>Copying of test file to queue succeeded.</font><br><br>";
} else {
$errors= error_get_last();
$t .= "COPY ERROR TYPE: ".$errors['type'] . "<br>";
$t .= "  ERROR MESSAGE: ".$errors['message'] . "<br>";

$t .= "<font color='red'>Failed to copy test file to this queue.</font><br><br>";
$Status = 0;
}

$t .= "Checking to see if we can delete from the queue...<br>";
$retval = @unlink($_mnt . "testfile.part");
if($retval == 1)
{
$t .= "<font color='blue'>Deleting of test file from queue succeeded.</font><br><br>";
$Status = 1;
} else {
$t .= "<font color='red'>Failed to delete test file from this queue.</font><br><br>";
$Status = 0;
}

return $t;
}

Показанная выше функция check_readwrite успешно работает в Red Hat 5, но не работает в Red Hat 7 с
сообщение об ошибке «Отказано в доступе» показано ниже. При выполнении функции файл testfile.part отображается на
удаленный хост Samba, но размер файла равен 0. Разъединение для удаления файла работает успешно.

ЛОКАЛЬНЫЙ ХОСТ: Red Hat Enterprise Linux Server версии 7.2 (Maipo) с php 7

———- доля самбы ———-> НАЧАТЬ

drwxrwxrwx 2 faciledi faciledi 0 авг. 11 14:35 10.231.250.147_smbinput

drwxrwxrwx 2 faciledi faciledi 0 авг. 10 16:50 10.231.250.147_smboutput

lrwxrwxrwx 1 apache apache 51 авг 11 14:34 smbinput -> /usr/local/queues/10.231.250.147_smbinput//

lrwxrwxrwx 1 apache apache 52 авг 10 16:42 smboutput -> /usr/local/queues/10.231.250.147_smboutput//

———- доля самбы ———-> КОНЕЦ

Ручное копирование тестового файла в локальный общий каталог хоста samba:

sudo -u apache cp /etc/fstab /usr/local/queues/smbinput/testfile.part
sudo -u faciledi cp /etc/fstab /usr/local/queues/smbinput/testfile.part

SAMBA REMOTE HOST: файл fstab успешно скопирован на удаленный хост, выполнив описанные выше шаги вручную

/usr/local/smbinput/testfile.part

———- Вывод функции check_readwrite ———-> НАЧАЛО

Проверка, можем ли мы написать в очередь …

COPY ERROR TYPE: 2

СООБЩЕНИЕ ОБ ОШИБКЕ: копия (/usr/local/queues/smbinput/testfile.part): не удалось открыть поток: отказано в разрешении

Не удалось скопировать тестовый файл в эту очередь.

Проверка, можем ли мы удалить из очереди …

Удаление тестового файла из очереди выполнено успешно.

———- Вывод функции check_readwrite ———-> END

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]