ホームページ >バックエンド開発 >PHPチュートリアル >thinkphp を nginx にデプロイするためのソリューション

thinkphp を nginx にデプロイするためのソリューション

WBOY
WBOYオリジナル
2016-06-13 12:40:43820ブラウズ

thinkphp を nginx にデプロイするためのソリューション

nginx に thinkphp をデプロイするソリューション

最近、thinkphp を使用して小さなものを作成し、それを nginx サーバーにデプロイした後、nginx が pathinfo をサポートしていないことがわかりました。他の人の解決策をオンラインで検索しました。
1. thinkphp を変更して nginx で実行できるようにします
2. nginx を変更して pathinfo をサポートする

インターネット上では、nginx で pathinfo を開くことには一定のリスクがあると言われています。そのため、個人的には、この方法は 2 番目の方法よりも簡単だと思います。 🎜>

nginx の書き換えを変更

場所 /<p style="padding-top: 0.5em; padding-bottom: 0.5em; border: 0px none;">{<code style="padding: 3px; margin: 0px 0px 20px; border-width: 1px; border-style: solid; border-color: #e1e1e1 #f0f0f0 #f0f0f0 #e1e1e1; direction: ltr; font-size: 11px; font-family: 'andale mono', 'lucida console', monospace; display: block; color: #666666;">location /<br style="padding: 0px; margin: 0px; border: 0px none;">{<br style="padding: 0px; margin: 0px; border: 0px none;">index index.php;<br style="padding: 0px; margin: 0px; border: 0px none;">if (!-e $request_filename)<br style="padding: 0px; margin: 0px; border: 0px none;">{<br style="padding: 0px; margin: 0px; border: 0px none;">rewrite ^/(.*)$ /index.php/ last;<br style="padding: 0px; margin: 0px; border: 0px none;">break;<br style="padding: 0px; margin: 0px; border: 0px none;">}<br style="padding: 0px; margin: 0px; border: 0px none;">}index.php;

if (! -e $request_filename)

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



location ~ .php($|/)
{
set $script $uri;
set $path_info “/”;
if ($uri ~ “^(. .php )(/. )")
{
set $script $1;
set $path_info $2;
}
fastcgi_pass unix:/tmp/php-cgi.sock;
# fastcgi_pass 127.0.0.1:9000;include fastcgi.conf;

fastcgi_indexindex.php?IF_REWRITE=1;

fastcgi_param PATH_INFO $path_info;

fastcgi_param SCRIPT_FILENAME $document_root/$script;'URL_MODEL'=>2,fastcgi_param SCRIPT_NAME $script;

}

次に、プロジェクト設定で URL モードを 2 に変更します

プロジェクトをデプロイする際に複数のプロジェクトがある場合、そのディレクトリにプロジェクトをデプロイする必要があります。例えば、バックグラウンドプロジェクトがAdminディレクトリに配置されている場合は、nginxの書き換えに別のプロジェクトを記述します。 ?

location?/XXX/?{<br style="padding: 0px; margin: 0px; border: 0px none;">if?(!-e?$request_filename)?{<br style="padding: 0px; margin: 0px; border: 0px none;">rewrite??^/XXX/(.*)$??/XXX/index.php?s=??last;<br style="padding: 0px; margin: 0px; border: 0px none;">break;<br style="padding: 0px; margin: 0px; border: 0px none;">}<br style="padding: 0px; margin: 0px; border: 0px none;">}

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。