por que o servidor php artisan serve do laravel não está acessível a partir da WWW no IIS


12

Eu tenho um aplicativo laravel executando através do servidor laravel artisan :

 php artisan serve

e funciona muito bem se eu continuar no meu localhost:8000... Além disso, adicionei uma regra de entrada no servidor IIS da seguinte forma:

Painel de Controle -> Ferramentas Administrativas -> Firewall do Windows com Segurança Avançada, Regras de Entrada. Faça uma nova regra "Permitir porta, TCP, 8000, todos os perfis

No entanto, por algum motivo, ainda não consigo acessar o site da WWW (fiz exatamente as mesmas etapas para um servidor webrick (na mesma máquina) e as coisas funcionaram perfeitamente) .. alguma idéia?


1
Sem conhecer o Laravel ou artisan, meu palpite é que ele é vinculado localhostapenas por padrão e você deve configurá-lo para lidar com solicitações não locais. Procure os documentos do sistema para verificar isso.
Sven

@SvW está correto.
precisa

Respostas:


29

Para que funcione fora do host local, faça php artisan serve --host 0.0.0.0

Se você deseja que ele funcione sem especificar a porta no navegador php artisan serve --host 0.0.0.0 --port 80,. sudoprovavelmente será necessário.

Nota: nuncaphp artisan serve deve ser usado para produção. É apenas para desenvolvedores e demonstrações e não será capaz de lidar com mais do que o tráfego de uma pessoa ou duas.


ok, parece bom. De fato, usando suas instruções, eu consegui visualizá-lo na WWW (por exemplo, meudominio.com: 8080). este é o meu cenário específico: rodar artisan servefaz funcionar muito bem .. mas ativar o apache me dá page not founderros .. eu criei um projeto laravel de amostra usando o compositor .. e isso funcionou bem mesmo no apache .. no entanto, este projeto eu realmente copiado da máquina de outro desenvolvedor .. Estou assumindo que pode ter algo a ver com permissões de arquivo?
abbood

2
Você precisará configurar corretamente o Apache para apontar para o diretório certo. Consulte laravel.com/docs/installation#pretty-urls .
precisa

ok .. mudei AllowOverridepara Allno httpd.confarquivo na definição do DocumentRootconforme instruído aqui .. mas isso não funcionou .. no site laravel diz se isso não funcionar tente Options +FollowSymLinks RewriteEngine On .... mas não sei ao certo onde colocar essas coisas? eles deveriam ir para o mesmo arquivo httpd.conf também?
abbood

O DocumentRoot está apontado para o diretório público?
precisa

1
@colinhoernig Lembre-se de nunca usá-lo para produção.
ceejayoz
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.