В настоящее время я изучаю проблему с сохранением исходных файлов после запуска функции переименования в PHP.
Программа проста и перемещена во временную папку. (В PHP с FuelPHP)
\File::rename('/path/to/uploads/file.jpg', '/tmp/file.jpg');
В настоящее время временная папка (/ tmp) монтируется по NFS.
И файл (file.jpg) создается (копируется) во временной папке, но исходный файл не удаляется (перемещено).
Это может быть нормальным поведением, поскольку оно смонтировано по NFS.
Однако, похоже, есть проект, который работает с этой функцией переименования.
Это 'работает' означает, что оригинальный файл удален.
Поведение проекта, который былработал раньше.
// A file exists.
/var/www/project/public/uploads/original.jpg
// Run PHP(FuelPHP) via Apache
\File::rename('/var/www/project/public/uploads/original.jpg', '/tmp/original.jpg');
// After program execution
/var/www/project/public/uploads/
/tmp/original.jpg
Текущая неработающая ситуация.
// A file exists.
/var/www/project/public/uploads/original.jpg
// Run PHP(FuelPHP) via Apache
\File::rename('/var/www/project/public/uploads/original.jpg', '/tmp/original.jpg');
// After program execution
/var/www/project/public/uploads/original.jpg // <- This is the problem.
/tmp/original.jpg
Работало нормально. (удалено)
\File::delete('/var/www/project/public/uploads/original.jpg')
Кажется, что структура инфраструктуры не изменилась.
Я думаю, что каждое программное обеспечение (дополнительная версия PHP и т. Д.) Было обновлено.
Функция переименования не работает независимо от разрешения (777).
Следовательно, проблема в том, почему он работал раньше.
Можно ли удалить исходный файл из программы (функция переименования) в смонтированной среде NFS?
Если это невозможнопереместить (переименовать) из программы, исследовать, потому что это проблема инфраструктуры.
Я хочу знать абсолютные доказательства того, что программа (переименованная в смонтированную папку nfs в PHP) никогда не сможет этого сделать.