web-dev-qa-db-ja.com

負荷分散PHPサイトをApacheからNginxに移動する場合、コードをどのように変更する必要がありますか?

より「伝統的な」ワニス+複数のApache2/mod_php設定から複数のphp-fpmサーバーでNginxに移行する場合:

ソフトウェアの一部を書き換えることを期待する必要がありますか? Apache_*関数の多くがApacheなしでも動作することを発見しました(PHP 5.4以降)。

アプリには同じ$GLOBALS$_GET$_POST$_FILES変数がありますか? $_SERVER['REQUEST_URI']などはどうですか?

他に気をつけるべきことはありますか?

3
frodeborli

Nginxで実行されるPHPは、Apacheで実行されるときと同じグローバル変数を持つ必要があります。

これはテストした人のレポートです 。彼らは当初、いくつかは欠落していると考えていましたが、PHPは、いくつかのケースで使用されるときにのみそれらを作成することがわかりました。

1

PHPコードは、PHPと同じである必要はありません。WebサーバーソフトウェアへのPHPのリンクに基づいて、関心のあるスーパーグローバルを設定します。ファイルアクセス機能といくつかのPHP拡張機能にはわずかな違いがあるため、LinuxとWindowsの違いを除き、基盤となるテクノロジーはコーディングに最小限の影響を与えるはずです。その他。

1