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

当你将默认的访问路径改后(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";

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

原文地址:https://www.cnblogs.com/zmdComeOn/p/10120574.html

时间: 2024-11-05 17:22:20

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

LNMP一键安装包 – 简单单单配置好linux服务器

lnmp-org 网站.独立博客越做越大,腰包越来越鼓,不少做网站的朋友明显感受到了虚拟主机已经不足以满足自己网站的负载,加之服务器硬件以及带宽的成本降低,价格已趋于平民,于是纷纷将原有的虚拟主机升级为VPS甚至是独立主机,可是随之而来的就是很多技术上的问题,如网站环境的搭建,VPS的系统配置等让人头痛,不过今天张自然为大家介绍一款软件可以让您简单又迅速的配置好您的VPS或独立主机.当然,张自然的小博客不需要! LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHa

LNMP一键安装包 V1.1 发布

LNMP一键安装包 是一个用Linux Shell编写的可以为CentOS/RadHat.Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx.MySQL/MariaDB.PHP.phpMyAdmin)生产环境的Shell程序.同时提供一些实用的辅助脚本如:可以帮助完成Nginx.MySQL/MariaDB.PHP的升级.常用缓存组件的安装.重置MySQL root密码.502自动重启.日志切割等许多实用脚本. 时间匆匆流过,又快到一年一度的六一儿童节了,同时端午假期也

LNMP一键安装包 V1.1 通告

LNMP一键安装包 是一个用Linux Shell编写的能够为CentOS/RadHat.Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx.MySQL/MariaDB.PHP.phpMyAdmin)生产环境的Shell程序.同一时候提供一些有用的辅助脚本如:能够帮助完毕Nginx.MySQL/MariaDB.PHP的升级.经常使用缓存组件的安装.重置MySQL rootpassword.502自己主动重新启动.日志分割等很多有用脚本. 时间匆匆流过,又快到一年一度的

LNMP一键安装包+Thinkphp搭建基于pathinfo模式的路由(可以去除url中的.php)

LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat/Fedora.Debian/Ubuntu/Raspbian/Deepin VPS或独立主机安装LNMP(Nginx/MySQL/PHP).LNMPA(Nginx/MySQL/PHP/Apache).LAMP(Apache/MySQL/PHP)生产环境的Shell程序.同时提供一些实用的辅助工具如:虚拟主机管理.FTP用户管理.Nginx.MySQL/MariaDB.PHP的升级.常用缓存组件Redis.Xca

LNMP一键安装包 V1.1 公布

LNMP一键安装包 是一个用Linux Shell编写的能够为CentOS/RadHat.Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx.MySQL/MariaDB.PHP.phpMyAdmin)生产环境的Shell程序.同一时候提供一些有用的辅助脚本如:能够帮助完毕Nginx.MySQL/MariaDB.PHP的升级.经常使用缓存组件的安装.重置MySQL rootpassword.502自己主动重新启动.日志分割等很多有用脚本. 时间匆匆流过,又快到一年一度的

lnmp一键安装包 虚拟主机问题

lnmp一键安装包淌过的坑  --手动虚拟主机配置 安装一键包的时候教程 官网也有虚拟主机的教程 一下示例: 后来自己手动去做 就遇到了一个大家都遇到的问题 及时安装让nginx支持解析PHP脚本解析 网上也有一些示例 但是配置了 不是502 就是下载文件 一般 nginx 虚拟主机配置 颜色标出解析PHP配置的一块 # 虚拟主机以server进行定义 server {     # 监听的端口,多个端口之间使用空格进行间隔     listen       80;     # 用来定义访问的ip

lowendscript:适用于64MB内存的LNMP一键安装包

简介 lowendscript lnmp一键部署script是由本国兄弟David Pennington制作的,长处:最大化节流资源支付.相形军哥的lnmp一键部署包要简单.轻便的多,磁盘当空占用也少.部署lowendscript lnmp一键包适用于Ubuntu.Debian系统,概括其他版本Linux系统来说,Debian 32位系统下部署对立占用资源起码. 部署 1.下载lowendscript部署script wget --no-check-certificate https://raw

thinkphp5在lnmp一键安装包虚拟域名提示500(转)

域名指定到根目录下一切都ok,唯独指向public下之后就一直提示500错误 打开了display_errors 提示 open_basedir 错误 然而域名的配置文件下并没有open_basedir,目录下的.user.ini改成public的上一层目录即网站根目录也无济于事 最后发现是fastcgi.conf中的open_basedir在捣鬼,将: "open_basedir=$document_root/:/tmp/:/proc/" 改成: "open_basedir

LNMP一键安装包 支持nginx和php选择当前主流版本

最近一直在学Python,春节将至,说实话公司没有什么事情做 闲来无事 就利用Python写了一个LNMP一键安装包. 主要有一下几点: 1. 支持nginx选择版本:1.3.0--1.7.9 2. 数据库使用的是Mariadb,感觉数据库版本比较稳定,所以就只给了一个选择:Mariadb-5.5.40 3. 如果不知道什么是Mariadb 自行百度或谷歌补脑. 4. 支持php选择版本:php-5.2.14--php5.5.20 5. 不支持 nginx.Mariadb.php 单独安装. 6