热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

[Linux]lnmp一键安装包,访问yii/tp5/laravel的时候,报错500或者空白页面

当你将默认的访问路径改后(nginx.conf中的root之后的路径),同时应该将homewwwrootdefault.user.ini中的路径也改了!.user.ini是隐藏文件,

当你将默认的访问路径改后(nginx.conf中的root 之后的路径),同时应该将/home/wwwroot/default/.user.ini 中的路径也改了!

.user.ini 是隐藏文件,需要 ls -a  查看;

第一步:你先确定你的pathinfo路由开启了,配置如下:

lnmp v1.1上,修改对应虚拟主机的配置文件(/usr/local/nginx/conf/vhost/域名.conf)

去掉#include pathinfo.conf前面的#,把try_files $uri =404; 前面加上# 注释掉。

1.2,1.3上,修改对应虚拟主机的配置文件(/usr/local/nginx/conf/nginx.conf)
将include enable-php.conf;替换为include enable-php-pathinfo.conf;

修改pathinfo需要重启nginx生效。

第二步:路由重写设置成功

 1 server {
 2         listen       80;
 3         server_name  www.aaa.com;
 4         root   "你的项目路径";
 5         include  enable-php-pathinfo.conf;//开启pathinfo
 6       location /nginx_status
 7         {
 8             stub_status on;
 9             access_log   off;
10         }
11         location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
12         {
13             expires      30d;
14         }
15        location ~ .*\.(js|css)?$
16         {
17             expires      12h;
18         }
19         location ~ /.well-known {
20             allow all;
21         }
22         location ~ /\.
23         {
24             deny all;
25         }
26         location ~ /index.php {
27             fastcgi_pass   127.0.0.1:9000;
28             fastcgi_index  index.php;
29             fastcgi_param  SCRIPT_FILENAME  $document_root/index.php;
30             include        fastcgi_params;
31             fastcgi_param APPLICATION_ENV dev;
32         }
33         location / {
34            index  index.html index.htm index.php l.php;
35            autoindex  on;
36            if (!-e $request_filename){
37               rewrite ^/(.*) /index.php last;
38            }
39         }
40         error_page   500 502 503 504  /50x.html;
41         location = /50x.html {
42             root   html;
43         }
44         location ~ \.php(.*)$  {
45             fastcgi_pass   127.0.0.1:9000;
46             fastcgi_index  index.php;
47             fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
48             fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
49             fastcgi_param  PATH_INFO  $fastcgi_path_info;
50             fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
51             include        fastcgi_params;
52         }
53     }

 

第三步:再次访问,如果是500/空白页面

在你框架index.php开头,打开报错,如下:

error_reporting(E_ALL);

ini_set('display_errors', '1');
默认是没有开启报错的,设置如下:

1、先打开php的错误提示

    将 php.ini中的 display_errors = Off 修改为 On;

2、开启nginx的报错

在 /usr/local/php/etc/php-fpm.conf 加上

php_admin_value[error_log] = /usr/local/php/var/log/php_errors.log
php_admin_flag[log_errors] = on

有时可能错误日志文件不自动创建,可以执行:touch /usr/local/php/var/log/php_errors.log && chown www:www /usr/local/php/var/log/php_errors.log

然后你访问,会得到以下的报错:

1 PHP Warning: require(): open_basedir restriction in effect. File(/home/wwwroot/default/laravel/bootstrap/autoload.php) is not within the allowed path(s): (/home/wwwroot/default/laravel/public:/tmp/:/var/tmp/:/proc/) in /home/wwwroot/default/laravel/public/index.php on line 22  
2   
3 PHP Warning: require(/home/wwwroot/default/laravel/bootstrap/autoload.php): failed to open stream: Operation not permitted in /home/wwwroot/default/laravel/public/index.php on line 22  
4   
5 PHP Fatal error: require(): Failed opening required ‘/home/wwwroot/default/laravel/public/../bootstrap/autoload.php‘ (include_path=‘.:/usr/local/php/lib/php‘) in /home/wwwroot/default/laravel/public/index.php on line 22  

解决
(1)检查php.ini的 open_basedir的参数 将其开启,写为自己的项目路径
(2)如果是lnmp(nginx服务器),检查 path/nginx/conf/fastcgi.conf里的 $document_root参数
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/:/home/stone/dsales/"; (/home/stone/dsales/为项目路径)
注意:如果在fastcgi.conf里没有 fastcgi_param PHP_ADMIN_VALUE……自行添加
       如果这样还是报错的话,那就改为 fastcgi_param PHP_ADMIN_VALUE "open_basedir=NULL";

  这样的话你就应该可以访问到项目了。。。

 


推荐阅读
  • 本文详细介绍了如何在 Linux 系统上安装 JDK 1.8、MySQL 和 Redis,并提供了相应的环境配置和验证步骤。 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上搭建 Hadoop 集群时遇到的 SSH 密钥认证问题及其解决方案。通过本文,读者可以了解如何在多台虚拟机之间实现无密码 SSH 登录,从而顺利启动 Hadoop 集群。 ... [详细]
  • Spark与HBase结合处理大规模流量数据结构设计
    本文将详细介绍如何利用Spark和HBase进行大规模流量数据的分析与处理,包括数据结构的设计和优化方法。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 微软推出Windows Terminal Preview v0.10
    微软近期发布了Windows Terminal Preview v0.10,用户可以在微软商店或GitHub上获取这一更新。该版本在2月份发布的v0.9基础上,新增了鼠标输入和复制Pane等功能。 ... [详细]
  • 如何在Linux服务器上配置MySQL和Tomcat的开机自动启动
    在Linux服务器上部署Web项目时,通常需要确保MySQL和Tomcat服务能够随系统启动而自动运行。本文将详细介绍如何在Linux环境中配置MySQL和Tomcat的开机自启动,以确保服务的稳定性和可靠性。通过合理的配置,可以有效避免因服务未启动而导致的项目故障。 ... [详细]
  • 本文介绍了如何使用Flume从Linux文件系统收集日志并存储到HDFS,然后通过MapReduce清洗数据,使用Hive进行数据分析,并最终通过Sqoop将结果导出到MySQL数据库。 ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • 基于iSCSI的SQL Server 2012群集测试(一)SQL群集安装
    一、测试需求介绍与准备公司计划服务器迁移过程计划同时上线SQLServer2012,引入SQLServer2012群集提高高可用性,需要对SQLServ ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 本文详细介绍了如何使用Python中的smtplib库来发送带有附件的邮件,并提供了完整的代码示例。作者:多测师_王sir,时间:2020年5月20日 17:24,微信:15367499889,公司:上海多测师信息有限公司。 ... [详细]
  • 使用虚拟机配置服务器
    本文详细介绍了如何使用虚拟机配置服务器,包括购买云服务器的操作步骤、系统默认配置以及相关注意事项。通过这些步骤,您可以高效地配置和管理您的服务器。 ... [详细]
  • 基于Linux开源VOIP系统LinPhone[四]
    ****************************************************************************************** ... [详细]
  • 解决Parallels Desktop错误15265的方法
    本文详细介绍了在使用Parallels Desktop时遇到错误15265的多种解决方案,包括检查网络连接、关闭代理服务器和修改主机文件等步骤。 ... [详细]
  • 解决 Windows Server 2016 网络连接问题
    本文详细介绍了如何解决 Windows Server 2016 在使用无线网络 (WLAN) 和有线网络 (以太网) 时遇到的连接问题。包括添加必要的功能和安装正确的驱动程序。 ... [详细]
author-avatar
白珍茜登陆_585
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有