Я не программист PHP, но я думаю, что ваша проблема в том, что когда PHP пытается использовать opendir, он работает с тем же идентификатором пользователя, что и apache, который может не иметь разрешения на чтение вашего каталога / home.
Это можно исправить, изменив разрешения для / home или добавив идентификатор пользователя apache к любой группе, которой принадлежит группа home.
Возможно, это проблема в вашем файле конфигурации Apache.Даже если разрешения файловой системы это позволят, ваш файл httpd.conf может не разрешить доступ к / home.Обычно это имеет место, если все ваши HTML-файлы находятся в /var/www.
httpd.conf может быть настроен так, чтобы разрешать обслуживание файлов из домашних каталогов ваших пользователей.В этом случае разрешение будет предоставлено для каталогов внутри / home, но не для самого / home.