чому сервер сервісного обслуговування ремісників laravel не доступний з WWW на IIS


12

У мене є додаток Laravel працює через Laravel ремісника сервера :

 php artisan serve

і він працює чудово, якщо перейти на свій localhost:8000.. Далі я додав вхідне правило на сервері IIS так:

Панель управління -> Адміністративні інструменти -> Брандмауер Windows з розширеною безпекою, вхідними правилами. Складіть нове правило "Дозволити порт, TCP, 8000, Усі профілі

Однак чомусь я все ще не можу отримати доступ до веб-сайту з WWW (я робив ті ж самі кроки для веб-сервера webrick (на тій же машині) і все працювало ідеально) .. будь-які ідеї?


1
Не знаючи Laravel або artisan, я гадаю, це те, що він призначається localhostлише за замовчуванням, і ви повинні налаштувати його для обробки не локальних запитів. Знайдіть документи системи, щоб перевірити це.
Свен

@SvW правильний.
ceejayoz

Відповіді:


29

Щоб змусити його працювати за межами localhost, зробіть це php artisan serve --host 0.0.0.0

Якщо ви хочете , щоб працювати без вказівки порту в браузері php artisan serve --host 0.0.0.0 --port 80. sudoймовірно, буде потрібно.

Примітка: php artisan serveне повинно ніколи бути використано для виробництва. Це лише для розробників та демонстрацій, і він не зможе перевезти більше, ніж людина чи дві людини.


добре звучить добре .. дійсно, використовуючи ваші вказівки, я зміг переглянути його з WWW (тобто mydomain.com:8080) .. однак мені все ще цікаво, чому я не можу зробити так, щоб апаш насправді обслуговував його для WWW? це мій конкретний сценарій: запуск працює, artisan serveвін працює просто чудово .. але потім увімкнення apache дає мені page not foundпомилки .. Я створив зразок проекту laravel за допомогою композитора .. і це спрацювало чудово навіть на апачі .. однак цей проект я насправді скопійовано з іншої машини розробника .. Я припускаю, що це може мати щось спільне з дозволами на файли?
абат

2
Вам доведеться правильно налаштувати Apache, щоб вказати на потрібну директорію. Див. Сторінку laravel.com/docs/installation#pretty-urls .
ceejayoz

ок .. я змінив , AllowOverrideщоб Allв httpd.confфайлі у визначенні , DocumentRootяк зазначено тут .. але це не робота .. на сайті Laravel він говорить , якщо це не працює , спробуйте Options +FollowSymLinks RewriteEngine On .... але я не впевнений , де поставити ті речі? чи повинні вони переходити до того ж файлу httpd.conf?
абат

Ваш документ DocumentRoot вказаний на загальнодоступний каталог?
ceejayoz

1
@colinhoernig Пам'ятайте, ніколи не використовуйте його для виробництва.
ceejayoz
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.