踩完坑之后跳出来@[GROUNDSPACE]
Laravel部署好之后,遇到的一些问题,以及对应的调试技巧。
关键词:laravel lnmp nginx
问题一:
环境:CentOS 7
问题:Laravel部署好之后,浏览器里输入xx.xx.xx.xx:8080后啥都看不到。
解决方案
在php.ini中 找到display_errors = Off 修改为 display_errors = On
php.ini的位置为
vi /usr/local/php/etc/php.ini
找到该文件,再去找“display_errors”。问题来了,文档这么长,一行一行找真是要了老命啊。
用这个:
?display
它的意思是搜索“display”关键字。。。但这个关键字很多,又该怎么办!
搜索下一个用 n,搜索上一个用 N。
原因
PHP错误没有显示,缺少进一步的信息,不知如何下手。按照刚才步骤,还是不能正常返回数据滴,不过,浏览器中应该可以看到错误信息了。
问题二:
环境:CentOS 7
问题:Laravel部署好之后,报错 require(): open_basedir restriction in effect。
解决方案
遇到这种问题的人,一般是偷懒,nginx,php啊不是自己装的,用了一键安装包。
脚本是人家写的,所以配置不一定是你需要的。
不需要放跨目录则需要将/usr/local/nginx/conf/fastcgi.conf 里面的
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
删除。
别忘了删除后重启php-fpm和nginx。
至于重启的方法,
cd /etc/init.d
./php-fpm restart
systemctl restart nginx
原因
脚本要改成适合自己的。
补充说明
nginx的conf文件里,root的目录是否要定位到public?
答案是肯定的,需要定位到public。
cd /usr/local/nginx/conf/vhost
vi xxx.conf
listen 8081;
#listen [::]:80;
server_name dev.ground_space.com;
index index.html index.htm index.php default.html default.htm default.php;
root /home/www/dev.ground_space.com/public;