ホームページ  >  記事  >  バックエンド開発  >  php vc14 とはどういう意味ですか?

php vc14 とはどういう意味ですか?

藏色散人
藏色散人オリジナル
2020-09-28 10:24:272752ブラウズ

php vc14 は、このバージョンの PHP が Visual Studio 2015 でコンパイルされていることを意味します。つまり、ユーザーが VC14 バージョンの PHP をダウンロードするときに、最初に「VisualC RedistributableforVisualStudio2015」をインストールする必要があります。

php vc14 とはどういう意味ですか?

推奨: 「PHP ビデオ チュートリアル

PHP VC14、VC11 、VC9とスレッドセーフと非スレッドセーフ

現在、PHP公式WebサイトからダウンロードしたPHPインストールパッケージにはVC14、VC11、またはVC9という文字があり、さらにスレッドセーフと非スレッドセーフが区別されています。では、これらの文字は何ですか? つまり、どのインストール パッケージをダウンロードするのが良いのでしょうか? 実は、PHP の公式 Web サイトにその答えが記載されていますので、以下に紹介します。

PHP VC14、VC11、VC9、スレッド セーフおよび非スレッド セーフとは何ですか?

PHP バージョンの VC6/9/11/14 は何を意味しますか?

VC6 バージョンは、Visual Studio 6 コンパイラを使用してコンパイルされます。PHP が Apache を使用して構築されている場合は、VC6 バージョンを選択する必要があります。 (現在、PHP 用の VC6 はありません)。

VC9 は、このバージョンの PHP が Visual Studio 2008 でコンパイルされるのに対し、VC11 は Visual Studio 2012 でコンパイルされることを意味します。当然、VC14 は Visual Studio 2015 でコンパイルされます。これは、

VC9 バージョンをダウンロードする場合は、最初に VisualC RedistributableforVisualStudio2008SP1 をインストールする必要があります。

VC11 バージョンをダウンロードする場合は、最初に VisualC RedistributableforVisualStudio2012 をインストールする必要があります。

VC14 バージョンをダウンロードする場合は、まず VisualC RedistributableforVisualStudio2015 をインストールする必要があります。

php をビルドするには、まずオペレーティング システムのバージョンを確認します。Windows の場合は、公式 Web サイトのアドレスに従ってください。

操作 システムは 32 ビットですか、それとも 64 ビットですか? 32 ビットの場合は「x86」が付いているバージョンを選択し、64 ビットの場合は「x64」が付いているバージョンを選択してください。では、WEBサーバーは何なのかというと、IISシリーズであれば「非スレッドセーフ」のバージョンを、Apache httpdシリーズであれば「スレッドセーフ」のバージョンを選択してください。 Apache httpd の場合は、バイナリ バージョンのコンパイル方法にも依存します。コンパイル タイプは VC6、VC9、VC11 (それぞれ Visual C 6、Visual C 2008、Visual C 2012 を表します) の 3 つがあります。ここで問題が発生します。PHP の最新の公式バージョン 5.5 は VC11 でコンパイルされ、5.4 は VC9 でコンパイルされています。ただし、Apache httpd の最新バージョンは依然として VC6 でコンパイルされています。これは驚くべき事実を意味します: Apache httpd の公式バージョンと PHP の公式バージョンは実際には互換性がありません! では、Windows では既存の Apache PHP はどうなりますか? VC11 を使用して Apache httpd を自分でコンパイルすることもできますが、これもまた困難です。 PHP は公式に Apache httpd のサードパーティ パッケージ バージョンをダウンロードすることを推奨しており、次のサイトを推奨しています: http://www.apachelounge.com/download/. 1 つの注意点: この VC11 は XP をサポートしていません。もしあなたが私と同じなら、 XP ノスタルジア、最高は 5.4.24 までしかアップグレードできません、5.5 は VC11 でコンパイルされ、VC11 は XP と 2003 をサポートしません。

Linux システムの場合は、ここから PHP のソース コードをダウンロードしてください。

上記の Windows バージョンとは異なり、ここでダウンロードしたものは、PHP のソース コードのみであり、直接使用することはできません。インストールするには自分でコンパイルする必要がありますが、コンパイルするには gcc や make などのコンパイル ソフトウェアを大量にインストールする必要があります。ドキュメント内で ./configure、make、make install が言及されているのを見ましたが、これは PHP のソース コード バージョンを指します。

PHP を自分でコンパイルするのはさらに面倒で、依存ライブラリが多く、陥りやすい落とし穴がたくさんあります。これについては、別の記事で説明します。それが面倒であれば、コンパイルされたバージョン、具体的には各ディストリビューションの公式ソフトウェア ライブラリを見つけることができます。以下では、人気のある ubuntu システムと centos システムを例としてそれぞれ説明します。

deb パッケージ管理タイプ (ubuntu、Debian)

apt-cache search php コマンドを使用すると、多くの結果を検索できますこれは「php5」であり、完全なコマンドは次のとおりです: apt-get install php5

コマンドにはバージョン番号 5 が含まれており、PHP6 に何が起こるかは誰にも分からないため、これは明らかに常に適用できるわけではありません。将来。

コマンドライン php エンジンをシェルにインストールする場合は、このパッケージをインストールします

apt-getinstall php5-cli

RPM パッケージ管理 (Fedora、RedHat、SUSE、CentOS)

yuminstall php

Ifこれは php コマンド ラインです。yuminstall php-cli をインストールするだけです。

スレッド セーフ バージョンと非スレッドセーフ バージョンを選択するにはどうすればよいですか?

Windows バージョンの PHP は、バージョン 5.2.1 以降、ThreadSafe (スレッド セーフ) と None Thread Safe (NTS、非スレッド セーフ) に分かれています。この 2 つの違いは何ですか?どちらを使用する必要がありますか? どちらを使用しますか? ここで簡単に説明します。

2000 年 10 月 20 日にリリースされた PHP 3.0.17 の最初の Windows バージョン以降、すべてのバージョンがスレッドセーフになっています。これは、Windows システムが Linux/Unix システムとは異なるマルチプロセス作業方法を使用しているためです。マルチスレッド作業方式を採用しています。 IIS で CGI モードで PHP を実行すると、CGI モードがマルチスレッドではなくマルチプロセスに基づいているため、非常に遅くなります。通常、PHP は ISAPI モードで実行されるように設定します。ISAPI はマルチスレッド モードであり、非常に高速です。しかし、問題があります。一般的に使用される PHP 拡張機能の多くは、Linux/Unix のマルチプロセスの考え方に基づいて開発されており、これらの拡張機能を ISAPI モードで実行すると、問題が発生し、IIS がダウンします。したがって、CGI モードは IIS で PHP を実行する最も安全な方法ですが、CGI モードでは HTTP リクエストごとに PHP 環境全体をリロードおよびアンロードする必要があり、その消費量は膨大です。

IIS での PHP の効率とセキュリティを考慮するために、Microsoft は FastCGI ソリューションを提供しています。 FastCGI を使用すると、新しいリクエストごとにプロセスを再度開くのではなく、PHP プロセスを再利用できます。同時に、FastCGI では複数のプロセスを同時に実行することもできます。これにより、CGI プロセス モードの過剰な消費の問題が解決されるだけでなく、CGI プロセス モードにはスレッド セーフの問題がないという事実も利用されます。

まず文字通りの意味から理解すると、Thread Safe はスレッド セーフです。新しい要件が発生したときに新しいスレッドを開始してシステム リソースを使い果たす CGI 実行方法を防ぐために、実行中にスレッド (スレッド) の安全性チェックが実行されます。非スレッド セーフは非スレッド セーフであり、実行中にスレッド (スレッド) の安全性チェックを実行しません。

したがって、ISAPI を使用して PHP を実行する場合は、ThreadSafe (スレッド セーフ) バージョンを使用する必要があり、FastCGI モードを使用して PHP を実行する場合は、スレッド セーフ チェックを使用する必要はなく、None Thread を使用してください。安全な (NTS 、非スレッドセーフ) バージョンでは効率が向上します。

PHP の 2 つの実行方法、ISAPI と FastCGI を見てみましょう。

ISAPI の実行メソッドは DLL ダイナミック ライブラリの形式で使用されており、ユーザーの要求後に実行できます。ユーザーの要求を処理してもすぐに消えるわけではないため、改善するにはスレッドの安全性チェックが必要です実行効率のため、ISAPI を使用して PHP を実行する場合は、スレッド セーフ バージョンを選択することをお勧めします。

FastCGI 実行メソッドは単一のスレッドを使用して操作を実行するため、スレッド セーフ バージョンを選択する必要はありません。スレッド セーフ チェックを実行します (スレッド セーフ チェックを除く)。保護すると実際に実行効率が向上します。したがって、FastCGI を使用して PHP を実行する場合は、非スレッド セーフ バージョンを選択することをお勧めします。

以上がphp vc14 とはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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