Maison > Questions et réponses > le corps du texte
Configurez le site Web du sous-domaine nginx.conf pour Laravel et pointez le répertoire racine vers le serveur public
{
listen 80;
server_name local.com ;
root /home/wwwroot/default/laravel/public/;
include enable-php.conf;
index index.php index.html index.htm;
location / {
#index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$query_string;
}
access_log /home/wwwlogs/access.log;
}
L'index.php de laravel public nécessitera certains fichiers
require __DIR__.'/../bootstrap/autoload.php';
fichiers de référence en dehors du répertoire du sous-domaine
Il apparaîtra lorsque vous visiterez local.com
local.com n'est actuellement pas en mesure de traiter cette demande.
ERREUR HTTP 500
Mais lorsque je visite http://127.0.0.1/laravel/public/, l'accès est normal
autorisations de fichier laravel
drwxr-xr-x 6 www www 4096 11 mai 20:42 app
-rwxr-xr-x 1 www www 1646 11 mai 20:42 artisan
drwxrwxrwx 3 www www 4096 11 mai 20 :42 bootstrap
-rw-r--r-- 1 www www 1300 11 mai 20:42 composer.json
-rw-r--r-- 1 www www 122597 7 juin 10:18 composer.lock
drwxr-xr-x 2 www www 4096 11 mai 20:42 config
drwxr-xr-x 5 www www 4096 11 mai 20:42 base de données
-rw-r--r-- 1 www www 1062 11 mai 20:42 package.json
-rw -r--r-- 1 www www 1055 11 mai 20:42 phpunit.xml
drwxrwxrwx 4 www www 4096 7 juin 10:49 public
-rw-r--r -- 1 www www 3420 11 mai 20:42 readme.md
drwxr-xr-x 5 www www 4096 11 mai 20:42 ressources
drwxr-xr-x 2 www www 4096 11 mai 20:42 itinéraires
-rw-r--r-- 1 www www 563 mai 11 20:42 serveur.php
drwxrwxrwx 5 www www 4096 11 mai 20:42 stockage
drwxr-xr-x 4 www www 4096 11 mai 20 : 42 tests
drwxrwxrwx 31 www www 4096 7 juin 10:18 vendeur
-rw -r--r-- 1 www www 555 11 mai 20:42 webpack.mix.js
Je pense que le problème devrait être que php interdit de référencer des fichiers en dehors du répertoire racine
ou nginx interdit l'accès aux fichiers en dehors du répertoire racine
ou ? ? ? ? ?
Vous cherchez une solution ?
J'ai trouvé la raison moi-même mais je n'ai toujours pas de solution
Afficher les résultats
Le code est définitivement le code source du framework laravel. La raison principale est probablement que vous ne pouvez pas référencer des fichiers externes
.
给我你的怀抱2017-06-08 11:03:55
Introduisez ce fichier dans nginx.conf include fastcgi.conf;
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/:/home/wwwroot/default/laravel/";
Ajoutez le répertoire du dossier externe que vous souhaitez référencer, et ce problème sera résolu, maman Le laravel le framework ne s'en soucie pas, ce qui provoque ce genre de problème. Quoi qu'il en soit, j'ai rencontré ce problème et il n'y a aucun endroit pour le rechercher
ringa_lee2017-06-08 11:03:55
Regardez le journal des erreurs nginx, toute erreur comme 500 est possible
習慣沉默2017-06-08 11:03:55
Ce n'est pas un problème avec nginx, ni un problème d'autorisations. Les fichiers en dehors du répertoire comme le vôtre ne peuvent pas être obtenus.