При настройке виртуальных хостов (virtual hosts) на на веб-сервере Lighttpd при запуске php-скриптов в браузере я столкнулся с ошибкой No input file specified. При этом если виртуальные хосты не запускать, то по стандартному пути сайта /www php работает отлично.
Поддержка виртуальных хостов для Lighttpd в openwrt устанавливается командой
opkg install lighttpd-mod-simple_vhost
Оговорюсь сразу, что речь идет о версии Lighttpd 1.4.35, которая установлена в транковской версии openwrt. Для версии ATTITUDE ADJUSTMENT конфигурационный файл виртуальных хостов может отличатся, хотя смысл тот же самый
Я прописал себе следующий виртуальный хост по умолчанию
simple-vhost.default-host = "silex"
simple-vhost.document-root = "/web"
Как директории это выглядит так
/www/servers/ - здесь хранятся все виртуальные хосты
/www/servers/silex - это мой сайт по умолчанию, тут находятся все файлы сайта
/www/servers/silex/web - здесь находятся сам интерфейс сайта
Теперь я могу добавлять новые сайты просто создав подкаталоги в /www/servers/
Например так я добавил сайт mszerg.pp.ua
mkdir /www/servers/mszerg.pp.ua/web
Создаем тестовую страницу с информацией о настройках php
echo "<?php phpinfo (); ?>" > index.php
Теперь, когда я зайду по адресу mszerg.pp.ua, то должен увидеть примерно такую страницу:
Но вместо этого я увидел всего одну строку: No input file specified.
Проблема решилась комментированием строки в php.ini
Я поставил точку с запятой перед строкой
Также по-идее туда можно вписать мой новый путь к virtual hosts: /www/servers/
Еще google выдал, что от греха подальше нужно, что бы были закоментированы или правильно настроены следующие строки в php.ini
Также убедитесь, что выставлен в php.ini правильно выставлен
Теперь php файлы будут запускаться в любом каталоге вашей системы. Своего рода это дыра в безопасности, так что если вы сильно об этом переживаете, то просто правильно настройте пути в вышеописанных параметрах.