今天吧网站放到nginx下centos环境,程序是thinkphp3.2的,首页能正常显示,内链所有都是500错误,贴出配置代码和错误日志,求解决方案!!

server { listen 80; server_name 此处网站域名; root /usr/local/www/web/go; location / { root /usr/local/www/web/go; index index.php index.html index.htm; if (!-e $request_filename) { rewrite ^(.*)$ /index.php/$1 last; break; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 location ~ .php$ { root /usr/local/www/web/go; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; #定义变量 $path_info ,用于存放pathinfo信息 set $path_info ""; #定义变量 $real_script_name,用于存放真实地址 set $real_script_name $fastcgi_script_name; #如果地址与引号内的正则表达式匹配 if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") { #将文件地址赋值给变量 $real_script_name set $real_script_name $1; #将文件地址后的参数赋值给变量 $path_info set $path_info $2; } #配置fastcgi的一些参数 fastcgi_param SCRIPT_FILENAME $document_root$real_script_name; fastcgi_param SCRIPT_NAME $real_script_name; fastcgi_param PATH_INFO $path_info; #fastcgi_param SCRIPT_FILENAME /usr/local/www/web/go$fastcgi_script_name; include fastcgi_params; } } }

nginx日志:

[root@VM_161_64_centos nginx]# 29068#0: *41 rewrite or internal redirection cycle while processing "/index.php//index.php//index.php//index.php//index.php//index.php//index.php//index.php//index.php//index.php//index.php//index.php/home/user/register.html", client: 这里IP, server: 这里域名, request: "GET /index.php/home:Q

回复讨论(解决方案)

codeigniter在nginx下配置

应该也适用 thinkphp,你对比一下server { listen 80; server_name www.phpno.com; root /home/www/www_phpno_com/admin_wwwroot; access_log off; error_page 404 /404.html; location /404.html { root /home/www/www_phpno_com/admin_wwwroot; } location /{ index index.html index.htm index.php; if (-e $request_filename) { break; } if (!-e $request_filename) { rewrite ^/(.*)$ /index.php/$1 last; break; } } location ~ .+\.php($|/) { root /home/www/www_phpno_com/admin_wwwroot; fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /home/www/www_phpno_com/admin_wwwroot/$fastcgi_script_name; # fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html/$fastcgi_script_name; include fastcgi_params; } }

codeigniter在nginx下配置

应该也适用 thinkphp,你对比一下

[code=text]server {

listen 80;

server_name 域名;

root /usr/local/www/web/go;

location / {

index index.php index.html index.htm;

if (-e $request_filename) {

break;

}

if (!-e $request_filename) {

rewrite ^/(.*)$ /index.php/$1 last;

break;

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root /usr/share/nginx/html;

}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

location ~ .php$ {

root /usr/local/www/web/go;

fastcgi_index index.php;

fastcgi_pass 127.0.0.1:9000;

#配置fastcgi的一些参数

fastcgi_split_path_info ^(.+\.php)(.*)$;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param PATH_INFO $fastcgi_path_info;

fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;

include fastcgi_params;

}

}

}

改成这样了,还是500呢,需要改哪里呀?

1# 正解啊

你的问题就是伪静态问题,改正确了,就OK了

看一下服务器错误日志

1、确认不是 nginx 照成的。可用一个简单的程序测试一下

2、打开 php 的错误显示功能,看看是否有错误信息输出

3、据说较高版本的 preg_replace_callback 存在严重内存泄露问题,而 thinkphp3.2 恰恰要用到

1、确认不是 nginx 照成的。可用一个简单的程序测试一下

2、打开 php 的错误显示功能,看看是否有错误信息输出

3、据说较高版本的 preg_replace_callback 存在严重内存泄露问题,而 thinkphp3.2 恰恰要用到

我首页能显示啊,首页是php程序啊,打开了右小角的那个调试,点击内链,就不见了。就是500

1# 正解啊

你的问题就是伪静态问题,改正确了,就OK了

重点是哪里,我改不对啊?

清空 Runtime 目录再试

出现 500 错误就表示你的程序有问题(当然也可能是其他方面的问题,但首先检查的是你的程序)

你不肯打开错误显示功能,那如何能知道问题出在哪里?

就算是算命,不也要你的生辰八字吗?

#rewrite ^(.*)$ /index.php/$1 last;

rewrite ^/subdir/(.*)$ /subdir/index.php/$1;

归神 我改了这行 现在500 变成404了 = =

清空 Runtime 目录再试

出现 500 错误就表示你的程序有问题(当然也可能是其他方面的问题,但首先检查的是你的程序)

你不肯打开错误显示功能,那如何能知道问题出在哪里?

就算是算命,不也要你的生辰八字吗?

等我找找PHP 装哪里了 = =

phpinfo()

不就看到 php.ini 在哪里了吗

phpinfo()

不就看到 php.ini 在哪里了吗

error_reporting = E_ERROR

display_errors = On

开了这2个然后service nginx restart

还是输出404啊,没有输出错误,我要去看日志?还是重启PHP?

phpinfo()

不就看到 php.ini 在哪里了吗

[23-Jul-2014 08:33:51] PHP Notice: Undefined index: SCRIPT_NAME in /usr/local/www/erp/ThinkPHP/ThinkPHP.php on line 82

[23-Jul-2014 09:06:15] PHP Notice: Undefined index: SCRIPT_NAME in /usr/local/www/erp/ThinkPHP/ThinkPHP.php on line 82

[23-Jul-2014 10:05:53] PHP Notice: Undefined index: SCRIPT_NAME in /usr/local/www/erp/ThinkPHP/ThinkPHP.php on line 82

[23-Jul-2014 10:09:42] PHP Notice: Undefined index: SCRIPT_NAME in /usr/local/www/erp/ThinkPHP/ThinkPHP.php on line 82

[23-Jul-2014 10:22:08] PHP Warning: phpinfo(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Chongqing' for 'CST/8.0/no DST' instead in /usr/local/www/web/dolanne/go/info.php on line 2

[23-Jul-2014 10:28:04] PHP Warning: phpinfo(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Chongqing' for 'CST/8.0/no DST' instead in /usr/local/www/web/dolanne/go/info.php on line 2

PHP Notice: Undefined index: SCRIPT_NAME in /usr/local/www/erp/ThinkPHP/ThinkPHP.php on line 82

$_SERVER['SCRIPT_NAME'] 不存在,不知道他们是怎么测试的!

在 入口文件开始处

$_SERVER['SCRIPT_NAME'] = $_SERVER['PHP_SELF'];

PHP Warning: phpinfo(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Chongqing' for 'CST/8.0/no DST' instead in /usr/local/www/web/dolanne/go/info.php on line 2

你没有设置时区,按他的提示设置一下就好了

500 变成 404

不是进步而是退步!

404 是找不到目标页,显然是你重写指错了地方

500 是被执行的程序出现了问题,而又未能返回错误信息。于是 nginx 就发 500错,表示应用程序拒绝响应

500 变成 404

不是进步而是退步!

404 是找不到目标页,显然是你重写指错了地方

500 是被执行的程序出现了问题,而又未能返回错误信息。于是 nginx 就发 500错,表示应用程序拒绝响应

好吧 弄成500,再看下日志

500 变成 404

不是进步而是退步!

404 是找不到目标页,显然是你重写指错了地方

500 是被执行的程序出现了问题,而又未能返回错误信息。于是 nginx 就发 500错,表示应用程序拒绝响应

现在回到发帖的时候状态了 php日志还是上面那些,nignx日志就是发帖0楼的那些,肿么办

500 变成 404

不是进步而是退步!

404 是找不到目标页,显然是你重写指错了地方

500 是被执行的程序出现了问题,而又未能返回错误信息。于是 nginx 就发 500错,表示应用程序拒绝响应

哈哈哈哈 我自己搞定了、、、

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

nginx php返回500错误,nginx环境thinkphp,500错误相关推荐

  1. nginx请求返回html文件,nginx返回json或者文本格式的方法

    用nginx怎么返回json格式或者文本格式的数据?其实很简单,如下代码: 1.返回文本格式 location ~ ^/get_text { default_type text/html; retur ...

  2. php框架全局自定义错误,[TP笔记]ThinkPHP自定义错误页面、成功页面及异常页面

    看了前面分享的一篇<什么是真正的程序员?>,觉得自己离这个目标还差的很远,所以要抓紧朝着这个方向前进.作为一名PHP小码农,掌握一种框架是必须的.所以今天开始我们就从国产PHP框架 Thi ...

  3. 轻量级HTTP服务器Nginx(配置与调试Nginx)

    Nginx安装完毕后,会产生相应的安装目录,根据前面的安装路径,Nginx的配置文件路径为/opt/nginx/conf,其中nginx.conf为Nginx的主配置文件.这里重点介绍下nginx.c ...

  4. 轻量级HTTP服务器Nginx(配置与调试Nginx)(转)

    2019独角兽企业重金招聘Python工程师标准>>> 转自:http://www.linuxidc.com/Linux/2012-03/55868p3.htm Nginx安装完毕后 ...

  5. nginx php返回500错误,解决Nginx服务返回500状态码问题

    文章目录 [隐藏] 发现问题 分析并解决问题 最近鼓捣博客服务器,不经意间误操作改了一些目录的用户组及权限,导致博客文件上传功能失败,周末检查了一天依然没有解决问题,在不经意间意识到了问题所在,其实有 ...

  6. ajax提示500,AJAX 成功返回json数据,但是提示500错误。

    使用ajax异步请求数据,已经成功返回数据但是浏览器提示500错误. 在localhost测试成功.但是上传到Ubuntu虚拟机后出错. 前端代码什么都看不出来.. 500是代码中有语法错误,应该是a ...

  7. linux服务返回500,Linux系统下的站点500内部服务器错误及故障排除500错误

    有时浏览网页时发生的最常见错误之一是看到"500 Internal Server Error(500内部服务器错误)",此消息表明Web服务器遇到技术问题.本文介绍500错误的含义 ...

  8. nginx json文件服务器,nginx服务器返回json文件时content-type不正确的坑

    最近在用vue写个demo时,使用vue-resource 的$htpp.get()请求一个json文件时,webstrom本地环境可以获取到,http响应报文包头中content-type为appl ...

  9. nginx 常见错误码_nginx服务器常见错误代码500、501、502、503、504、505

    一:500错误 1.500 Internal Server Error 内部服务错误:顾名思义500错误一般是服务器遇到意外情况,而无法完成请求. 2.500出错的可能性: a.编程语言语法错误,we ...

最新文章

  1. PHP代理模式Proxy Mode
  2. 原创 | R的基础及进阶数据可视化功能包介绍
  3. 超简单将Centos的yum源更换为国内的阿里云源
  4. python plt.show_解决python中显示图片的plt.imshow plt.show()内存泄漏问题
  5. 【英语学习】【医学】Unit 09 The Respiratory System
  6. Redisson 布隆过滤器
  7. 空间数据引擎oracle_空间数据库oracle
  8. windows2000/xp运行命令全集
  9. TSX指令集中的 RTM 受限的事务内存 来实现并发无锁编程
  10. vue中点击高德地图获取经纬度
  11. 如何下载哔哩哔哩视频
  12. 深刻理解原型图设计的核心
  13. 正在准备面试?快手三面面试真题,搞懂这些直接来阿里入职
  14. 云函数.批量操作数据库
  15. android 机器人绘制,画个android机器人
  16. IBM DB2 Alphablox 8.3 build 149 安装过程 部署 WebSphere Application Server 6.0.1上
  17. 上海市二级分类土地利用/土地利用规划
  18. [转贴] meizz (梅花雨)的一些珍藏代码奉献
  19. wrong ELF class: ELFCLASS32
  20. 开源不只用来玩,“拿来主义”遭唾弃

热门文章

  1. CVPR2016:ResNet 从根本上解决深度网络退化问题
  2. Linux中断处理流程
  3. 为什么你应该让你的孩子尽早学习编程
  4. 关于WebApi 跨域问题的解决的方式
  5. 011_Validation Rule about Time
  6. Introduction of Open CASCADE Foundation Classes
  7. DIY服务器配置全方位详解
  8. 下1000个用户的云计算革命
  9. Selenium webdriver定位iframe里面元素两种方法
  10. 用Twebbrowser做可控编辑器与MSHTML