
Отвечая на вопросы новичков встретил непонимание для чего в современных фреймворках точка входа находится не в корне проекта из-за чего у них возникают проблемы с развёртыванием на шаред хостингах.
Немножко поверхностной теории. Данные которые лежат на сервере клиенты получают от вебсервера. В основном это nginx, но встречаются и древние apache. У них в настройках указывается директория куда они смотрят это root и dociment root соответственно. Файлы и директории в документ руте доступны относительно этой директории. Например у вас root это /var/www в нём файл config.ini, он будет доступен по адресу https://site.name/config.ini.
После всяких трэшкурсов вроде попова разработчики зачем-то дают php файлам экзотические расширения вроде .inc, такие файлы не интерпретируются php по прямой ссылке и их содержимое так же будет доступно извне. При конфигурации сервера или ошибок при обновлениях может слететь php и файлы из dociment root станут доступны. Такая ошибка случалась даже у гигантов как facebook.
Поэтому важные данные должны находиться выше document root. Да и в этом случае лучше их шифровать, либо устанавливать через переменные окружения сервера. Например в symfony есть Secrets, который шифрует файлы конфигурации. Но прямо в докусментации указано, что такие данные лучше хранить в переменных окружения.
С переменными окружения так же есть непонимание. Во фреймворках обычно используется расширение dotenv, и настройки хранятся в файлике .env, который иногда кладут в document root. Но этот файлик используется для разработки, в продакшне админы или девопсы используют переменные окружения сервера, которые переписывают значения из .env. Этот файлик не должен содержать чувствительных данных вроде продакшн паролей и API ключей.