2015-05-04 4 views
4

Я пытаюсь получить свободное пространство на жестком диске USB, прикрепленном к моему серверу (используя php), однако disk_free_space() всегда возвращает пространство, доступное в загрузочном разделе. Вот краткое изложение моей установки сервера:Php disk_free_space() всегда читает из загрузочного раздела

Rasbperry Pi 2 running rasbian. 
php version: 5.4.39-0+deb7u2 
booting from 32 gb sd card with about 24 gb free 
3TB ntfs gpt usb hard drive mounted 
ntfs-3g installed on system 

тестовый код:

<? 
echo ":".disk_free_space("")."\n"; 
echo "/".disk_free_space("/")."\n"; 
echo "/mnt/drive:".disk_free_space("/mnt/drive")."\n"; 
?> 

выход

PHP Warning: Module 'apc' already loaded in Unknown on line 0 
PHP Warning: PHP Startup: apc.shm_size now uses M/G suffixes, please update your ini files in Unknown on line 0 
PHP Warning: disk_free_space(): No such file or directory in /home/pi/test.php on line 2 
: 
/24991305728 
/mnt/drive:24991305728 
+0

Возможно ли, что '/ мнт/диск /' еще одна точка монтирования для корневого раздела (не «загрузки», так как у вас есть Это)? – Mike

+0

Is/mnt подключенный сетевой диск? Это из документов: Примечание. Эта функция не будет работать на удаленных файлах, так как файл, подлежащий проверке, должен быть доступен через файловую систему сервера. – STLMikey

+0

@Mike,/mnt/drive определенно не является корневым разделом. – CodeNinja

ответ

0

Фигурные его. Когда я переформатировал жесткий диск, UUID для него изменился, аннулировал мою конфигурацию в/etc/fstab. Таким образом, диск был доступен, но не был установлен с ntfs3g, поэтому я думаю, что есть проблемы с чтением его емкости. Когда я обновил строку в Fstab на новый UUID он начал работать правильно:

UUID={newuuid} /mnt/drive ntfs-3g defaults,permissions 0 0