在mac上搭建好了nginx+php+laravel,没有做过多的配置,只是将nginx的root路径配置到laravel的public下面,然后设置监听的是80端口,laravel welcome页面的google字体已去掉,不是google问题。
如果我使用php artisan serve使用laravel内建的服务器,可以正常访问到(http://localhost:8000)laravel默认的welcome页面,修改views/welcome.blade.php,刷新页面也都正常.
使用nginx访问80端口:访问普通的php文件正常(http://localhost/a.php)比如在public下面创建一个a.php,可以访问打印phpinfo等。但是访问(http://localhost)访问不了,页面显示空白,这个链接是通过nginx的服务器。
PS:如果我先访问了内建的8000端口,就可以访问80端口,但是我改了模板文件后直接访问80端口是不行的。
请问这个是哪里配置的问题或者是其他问题
Laravel版本:5.2
php版本:7.0.2
已解决
:我把laravel/storage 和 laravel/bootstrap/cache的权限重新改了一下就可以了sudo chmod -R 777 laravel/storage
sudo chmod -R 777 laravel/bootstrap/cache
不过还是不清楚为什么使用php artisan serve就不会出现这种情况
在mac上搭建好了nginx+php+laravel,没有做过多的配置,只是将nginx的root路径配置到laravel的public下面,然后设置监听的是80端口,laravel welcome页面的google字体已去掉,不是google问题。
如果我使用php artisan serve使用laravel内建的服务器,可以正常访问到(http://localhost:8000)laravel默认的welcome页面,修改views/welcome.blade.php,刷新页面也都正常.
使用nginx访问80端口:访问普通的php文件正常(http://localhost/a.php)比如在public下面创建一个a.php,可以访问打印phpinfo等。但是访问(http://localhost)访问不了,页面显示空白,这个链接是通过nginx的服务器。
PS:如果我先访问了内建的8000端口,就可以访问80端口,但是我改了模板文件后直接访问80端口是不行的。
请问这个是哪里配置的问题或者是其他问题
Laravel版本:5.2
php版本:7.0.2
已解决
:我把laravel/storage 和 laravel/bootstrap/cache的权限重新改了一下就可以了sudo chmod -R 777 laravel/storage
sudo chmod -R 777 laravel/bootstrap/cache
不过还是不清楚为什么使用php artisan serve就不会出现这种情况
使用php artisan serve的时候是你本用户调用的php,所以不会出现权限不足的情况。
而nginx运行时候的账户未必有项目文件的写权限,这个要看看nginx配置文件中配置的user是哪个了,将storage的所属账户改成那个就行了
本地环境 把php.ini的错误提示打开,运行一下看看哪里出问题了,我猜测应该是你mac环境的php版本低的原因,换php5.6试试。