nginx環境thinkphp、500例外

Jun 13, 2016 pm 12:03 PM
fastcgi index nbsp php script

nginx环境thinkphp,500错误

本帖最后由 u012335455 于 2014-07-22 19:16:10 编辑 今天吧网站放到nginx下centos环境,程序是thinkphp3.2的,首页能正常显示,内链所有都是500错误,贴出配置代码和错误日志,求解决方案!!

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


nginx日志:

[[email protected]_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 {<br>       listen  80;<br>       server_name     www.phpno.com;<br>       root /home/www/www_phpno_com/admin_wwwroot;<br>       access_log off;<br>       error_page 404  /404.html;<br>       location /404.html {<br>               root /home/www/www_phpno_com/admin_wwwroot;<div class="clear">
                 
              
              
        
            </div>
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Stock Market GPT

Stock Market GPT

AIを活用した投資調査により賢明な意思決定を実現

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ホットトピック

PHPでnull coulescingオペレーター(??)を使用する方法は? PHPでnull coulescingオペレーター(??)を使用する方法は? Sep 25, 2025 am 01:28 AM

回答:PHPの空のマージ演算子(??)は、変数キーまたは配列キーが存在し、nullではないかどうかを確認するために使用されます。それが本当なら、それはその値を返し、それ以外の場合はデフォルト値を返します。長いISSET()チェックの使用を回避し、$ username = $ userInput ?? 'guest'などの未定義の変数や配列キーの処理に適しています。

PHPクラスでインターフェイスを実装する方法は? PHPクラスでインターフェイスを実装する方法は? Sep 25, 2025 am 05:34 AM

Interfaceを実装するには、Implementsキーワードを使用すると、クラスはインターフェイス内のすべてのメソッドの特定の実装を提供する必要があります。 2。インターフェイスを定義して、インターフェイスキーワードを使用してメソッドを宣言します。 3。クラスはインターフェイスを実装し、メソッドをオーバーライドします。 4.オブジェクトを作成し、メソッドを呼び出して結果を出力します。 5.クラスは複数のインターフェイスを実装して、コードの仕様と保守性を確保することができます。

PHPのXSSを防ぐためにユーザー入力をサニタイズする方法は? PHPのXSSを防ぐためにユーザー入力をサニタイズする方法は? Sep 25, 2025 am 05:19 AM

topreventxssinphp、sanitizeuserininputandescapeoutput basedoncontextusinghtmlspecialchars()forhtml、json_encode()forjavascript、andvalidattlywithfilter_var()forexectedDatatypes

PHPを使用してHTMLフォームにメソッドを取得および投稿する方法は? PHPを使用してHTMLフォームにメソッドを取得および投稿する方法は? Sep 25, 2025 am 03:46 AM

GETメソッドは、非敏感な情報に適したURLにデータを添付します。 POSTメソッドは、リクエスト本体を介してデータを送信します。これは、より安全で機密情報に適しています。

PHPで2つの配列の交差点を見つける方法は? PHPで2つの配列の交差点を見つける方法は? Sep 26, 2025 am 06:23 AM

array_intersect()関数を使用して、各配列に存在する要素を同時に返す2つの配列の交差点を見つけ、キー名は最初の配列から保持されます。たとえば、$ arr1 = ['apple'、 'banana'、 'orange']; $ arr2 = ['banana'、 'kiwi'、 'apple'];結果は['apple'、 'banana']です。

PHPでデフォルトのタイムゾーンを設定する方法は? PHPでデフォルトのタイムゾーンを設定する方法は? Sep 26, 2025 am 06:22 AM

setthededefaultimezoneinphpusingdate_default_timezone_set( 'americ/new_york');

PHPスクリプトをデバッグする方法は? PHPスクリプトをデバッグする方法は? Sep 26, 2025 am 05:59 AM

enableerRorreportingwithini_setanderror_reportingtodisplayallerrors、usevar_dumporprint_rtoinspectvariables、checkphpandserverlogs forhiddisues、and levereververevexdebugwithwithanideforaddebugging。

PHPを使用してデータをMySQLテーブルに挿入する方法は? PHPを使用してデータをMySQLテーブルに挿入する方法は? Sep 26, 2025 am 03:03 AM

PDOデータベース接続を確立して、例外モードが設定されていることを確認します。 2。前処理ステートメントを使用してデータを挿入し、Bindparam結合パラメーターを介したSQL注入を防ぎます。 3.ステートメントを実行してエラーを処理し、スクリプトの後に接続を自動的に閉じます。データを安全に挿入するための鍵は、接続、準備、バインディング、および実行です。

See all articles