perché il server di servizio php artisan di laravel non è accessibile dal WWW su IIS


12

Ho un'applicazione laravel in esecuzione attraverso il server artigianale laravel :

 php artisan serve

e funziona bene se vado sul mio localhost:8000.. Inoltre, ho aggiunto una regola in entrata nel server IIS in questo modo:

Pannello di controllo -> Strumenti di amministrazione -> Windows Firewall con sicurezza avanzata, regole in entrata. Crea una nuova regola "Consenti porta, TCP, 8000, Tutti i profili

Tuttavia, per qualche motivo, non riesco ancora ad accedere al sito Web dal WWW (ho fatto esattamente gli stessi passaggi per un server webrick (sulla stessa macchina) e le cose hanno funzionato perfettamente) .. Qualche idea?


1
Senza conoscere Laravel o artisan, la mia ipotesi è che è vincolato localhostsolo per impostazione predefinita e devi configurarlo per gestire le richieste non locali. Cerca i documenti del sistema per verificarlo.
Sven

@SvW è corretto.
Ceejayoz,

Risposte:


29

Per farlo funzionare al di fuori di localhost, fallo php artisan serve --host 0.0.0.0

Se si vuole che il lavoro senza specificare la porta nel browser, php artisan serve --host 0.0.0.0 --port 80. sudosarà probabilmente richiesto.

Nota: nonphp artisan serve dovrebbe mai essere usato per la produzione. È solo per gli sviluppatori e le dimostrazioni e non sarà in grado di gestire più del traffico di una persona o due.


ok suona bene .. effettivamente usando le tue istruzioni sono stato in grado di visualizzarlo dal WWW (cioè miodominio.com:8080) .. tuttavia mi chiedo ancora perché non riesco a fare in modo che Apache lo serva effettivamente al WWW? questo è il mio scenario specifico: l'esecuzione artisan servefa funzionare tutto bene .. ma poi accendere apache mi dà page not founderrori .. ho creato un progetto laravel di esempio usando il compositore .. e che ha funzionato perfettamente anche su apache .. comunque questo progetto ho in realtà copiato dal computer di un altro sviluppatore .. suppongo che potrebbe avere qualcosa a che fare con le autorizzazioni dei file?
circa

2
Dovrai configurare correttamente Apache in modo che punti alla directory giusta. Vedi laravel.com/docs/installation#pretty-urls .
Ceejayoz,

ok .. ho cambiato AllowOverridea Allnel httpd.conffile nella definizione del DocumentRootcome da istruzioni qui .. ma che non ha funzionato .. nel sito laravel si dice se questo non funziona provare Options +FollowSymLinks RewriteEngine On .... ma non sono sicuro dove mettere quelle cose? dovrebbero andare allo stesso file httpd.conf?
circa

DocumentRoot è indirizzato alla directory pubblica?
Ceejayoz,

1
@colinhoernig Ricorda di non usarlo mai per la produzione.
Ceejayoz,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.