新浦京81707con > 功能介绍 > 500错误或404错误解决办法

原标题:500错误或404错误解决办法

浏览次数:122 时间:2019-06-26

nginx情况难点弄了二日,发掘互连网海人民广播广播台湾大学人的帖子要么复制粘贴,要么就算未有结贴,还协调写一句“哈哈,笔者自个儿消除了”之类的,那点本人就小看这么些发帖的同胞了,你说您难题问了,难点一下子就解决了了也不给个表明。还在搜求的前几页,想没想过需求答案的人的感想吗。满心高兴的去看答案,开掘未有结贴。好吧,十分少说,进入正题。

nginx是三个高质量并发的服务器软件,配置方面要稍微比apache复杂一丢丢。
地面布署成功的三个thinkphp框架,安顿到服务器的时候,刚开头因为权限难点抛出404荒谬,然后chown之后,抛出了500的荒唐,可是首页能够访问。
复查,应该是伪静态rewrite现身难点了,找了众多文献,解决方案如下:

一、thinkphp 项目改为pathinfo形式

自己这种方法是不需求将UCR-VL_Model改为rewrite/兼容的:

应该将

XXX/ThinkPHP/Conf/convention.php文件中找到

差不多第43行,依据上面包车型地铁相比本身的code举办改动,请小心细节的符号:

location ~ .*.(php|php5)?$
{
#fastcgi_pass  unix:/tmp/php-cgi.sock;
fastcgi_pass  127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}

'URL_MODEL' => 1, // U昂CoraL访问形式,可选参数0、1、2、3,代表以下八种格局:
// 0 (普通格局); 1 (PATHINFO 情势); 2 (REWGL450ITE 方式); 3 (包容格局) 暗中同意为PATHINFO 形式

 location / {
            root   C:/Zend/workspaces; #//这是您自身项指标根目录。
            index  index.html index.htm index.php;
            
            if (!-e $request_filename) {
            rewrite ^/(.*)$ /index.php/$1 break;    
            break;
            }
            
        }

更改为:

默许值为1,可不改

在php的安顿中,将location ~ .php$ 改为 location ~ .php,再度着重提出,注意细节,这里去掉了$标记,小编刚开首也是因为这些原因平昔没能消除。

location ~ .php
{
fastcgi_pass   127.0.0.1:9000;
fastcgi_index index.php;
set $path_info "";
set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ "^(. ?.php)(/. )$") {
set $real_script_name $1;
set $path_info $2;
}
fastcgi_param SCRIPT_FILENAME /mnt/khdb1/wwwroot$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
include  /alidata/server/nginx/conf/fastcgi_params;
}

二、配置ngnix

 location ~ .php {
            root           C:/Zend/workspaces;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
葡京娱乐注册,            fastcgi_param  SCRIPT_FILENAME  C:/wnmp/php$fastcgi_script_name;
            include        fastcgi_params;
            set $path_info "";
            set $real_script_name $fastcgi_script_name;
            if ($fastcgi_script_name ~ "^(. ?.php)(/. )$") {
            set $real_script_name $1;
            set $path_info $2;
            }
            fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
            fastcgi_param SCRIPT_NAME $real_script_name;
            fastcgi_param PATH_INFO $path_info;
        }

缓和方案的思路:是由于在配备站点的时候,conf文件应该将所有对服务器的伸手改变路径,即从“ location ~ .php” 那么些初始的大括号内的,暗中同意的nginxlocation行头location ~ .*.(php|php5)?$也要改。包罗率先行的location都要修改为最上边。就能够缓和抛出的500服务器错误“thinkphp 500谬误”

server{
listen 80;
server_name vote.nhwa-hexin.com;
root /var/www/html/vote;
index index.php index.html index.htm;
location /{
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
location ~ ^(. .php)(.*) {
fastcgi_pass unix:/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;

比如仍未消除,在ThinkPHP入口文件index.php中进入配置define(‘_PHP_FILE_’,$_SERVER['SCRIPT_NAME']);

nginx下运作出错404谬误-找不到文件消除办法

set $path_info "";
set $real_script_name $fastcgi_script_name;

里面大家莫不会高出500,404的标题,但切记一点,留心就行。只要服从本人那么些改,基本没什么难题。如若还应该有标题,迎接留言发问。

减轻格局一:修改ThinkPHP设置,不利用PATH_INFO

if ($fastcgi_script_name ~ "^(. ?.php)(/. )$"){
set $real_script_name $1;
set $path_info $2;
}
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
}

不留余地措施来源参谋:

消除方法二(推荐):修改nginx设置,扶助PATH_INFO

}

本文由新浦京81707con发布于功能介绍,转载请注明出处:500错误或404错误解决办法

关键词: 新浦京81707con 服务器部署

上一篇:Mysql安装配置

下一篇:没有了