laravel5.4部署到centos lnmp上始终报错:网页无法正常运作

部署时候,nginx如下:
`

    location / {
    try_files $uri $uri/ /index.php?$query_string;
    }
    location ~ \.php$ {
            try_files $uri /index.php =404;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      

`
但是public目录下:index.html可以访问,index.php访问就报错:该网站无法运行。
始终找不到问题。
vhost也是这种情况。

阅读 5.8k
5 个回答

我之前也有遇到过。如果权限有给还不能的话,试试下面的

1.去到 nginx 根目录,运行

grep -rn open_basedir ./

2.修改 fastcgi.conf 改成下面内容

#fastcgi_param   PHP_ADMIN_VALUE  "open_basedir=$document_root/:/tmp/:/proc/";

3.重启 nginx 服务

service nginx reload

laravel项目/public/ 下新建 test.php

<?php 
die('123');

访问下这个文件看能输出123吗?

如果能:就是项目代码或权限有问题。
如果不能:就是 nginx 与 PHP 的连接配置有问题,参考下其他配置。

看下storage文件有没有写入权限

新手上路,请多包涵

/下添加index.php

确定代码没问题,服务器配置没问题后:(尝试三楼 wilon 的方法)
laravel 项目部署,需要先执行:
sudo chmod -R 777 /storage
sudo chmod -R 777 /bootstrap
(当然,全部777不怎么推荐,但是最简单)
然后执行php artisan key:generate
(如果项目是git clone下来的,一般还需要生成.env文件,然后设置你需要的信息)
composer install // (假设你已经安装了composer)安装插件,生成vendor文件夹
sudo chmod -R 777 /vendor // 曾经遇到一个vendor文件没有给权限的坑
大概这样权限就基本给足了,涉猎laravel也不久,有不对希望大神指正

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进