1. Пробрось порт в роутере.
2. Настрой правильно xdebug: remote_connect=1, remote_port=9000, remote_enabled=1
3. Заведи DynDNS на роутере (удобнее чем локально). Либо подставляй всегда свой ip в xdebug.remote_host
Есть работа пиши
но в целом опытный разработчик это не тот который будет писать с нуля все подряд строя свои велосипеды, а выберет правильно ЯП и нужный фреймворк или даже готовую CMS/CMF взависимости от требований.
Все сугубо индивидуально и зависит от нагрузки, требований, желаний заказчика/команды. Однозначно ответить на вопрос в данной формулировке не представляется возможным.
В общем поведение не понятно, когда время будет обязательно надо будет ковырнуть. Но смысл примерно такой, попытки обработать некоторые объекты или их методы, как другой тип данных.
Если index отдается файлом, значит апач его отдает статикой не пропуская через php, ройте в эту сторону. Смотрите настройки апача связку с php, может нет handler и type