recherche

Maison  >  Questions et réponses  >  le corps du texte

laravel - nginx php n'a pas réussi à référencer le fichier externe dans le répertoire racine

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
.

曾经蜡笔没有小新曾经蜡笔没有小新2757 Il y a quelques jours1048

répondre à tous(3)je répondrai

  • 给我你的怀抱

    给我你的怀抱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

    .

    répondre
    0
  • ringa_lee

    ringa_lee2017-06-08 11:03:55

    Regardez le journal des erreurs nginx, toute erreur comme 500 est possible

    répondre
    0
  • 習慣沉默

    習慣沉默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.

    répondre
    0
  • Annulerrépondre