Подсистема Windows для Linux (WSL )— это просто уровень совместимости для запуска бинарных исполняемых файлов Linux в Windows. Он не предоставляет почти никакой функциональности, кроме этого. Особенно в вашем случае вы столкнулись с двумя неподдерживаемыми компонентами/функциями:
WSL не работает как отдельный экземпляр операционной системы, поэтому не существует простого способа поддержки систем начальной загрузки и управления службами, таких как init
или systemd
, поскольку они присутствуют в реальных системах Linux. Следовательно, сегодня (2019 -02 )Ubuntu для WSL по-прежнему не поддерживает уровни выполнения.
Это основное ограничение в вашем случае. VirtualBox как гипервизор должен интегрироваться с ядром операционной системы (с помощью модулей ядра ). WSL — это просто уровень совместимости. Настоящего Linux не работает (нет ядра Linux ). Следовательно, VirtualBox не может скомпилировать свои модули ядра для WSL.
Если вы хотите запустить VirtualBox на компьютере с Windows, установите версию для Windows. Вы не можете запустить версию для Linux в WSL.
Вы используете привилегированный порт. Только root
может прослушивать порты ниже 1024. Вот почему, например. apache запускается какroot
(и остается ), а рабочие запускаются как www-data
или что-то еще.
Попробуйте использовать порт выше 1023.
Вы можете использовать эту команду для запуска PHP под любым портом:
setcap -v cap_net_bind_service=+ep "$(readlink -f "$(which php)")"
Если он возвращает :/usr/bin/binary differs in [pe]
(, это ошибка ), сначала запустите его без аргумента -v
.