日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

nginx php返回500错误,nginx环境thinkphp,500错误

發布時間:2024/9/19 php 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nginx php返回500错误,nginx环境thinkphp,500错误 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天吧網站放到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错误的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。