php file_get_contents とcurl_PHP チュートリアルのパフォーマンス比較
Jul 13, 2016 am 10:47 AMphp でパフォーマンスを注意深く分析しないと、file_get_contents とcurl には両方ともファイルを収集することもできるし、ファイルを開くこともできるという共通点がたくさんあることがわかります。しかし、注意深く比較してみると、多くの違いがあることがわかります。 file_get_contents との違いを見てください。
PHP の fopen、file_get_contents、curl 関数の違い:
1.fopen /file_get_contents はリクエストごとに DNS クエリを再実行し、DNS 情報をキャッシュしません。ただし、CURL は DNS 情報を自動的にキャッシュします。同じドメイン名の Web ページまたは画像に対するリクエストには、DNS クエリが 1 つだけ必要です。これにより、DNS クエリの数が大幅に削減されます。したがって、CURL のパフォーマンスは fopen /file_get_contents よりもはるかに優れています。
2.fopen /file_get_contents HTTP リクエストの場合、http_fopen_wrapper が使用され、キープライブされません。しかしカールならできる。このようにして、複数のリンクを複数回リクエストする場合、curl はより効率的になります。
3. fopen / file_get_contents 関数は、php.ini ファイルのallow_url_open オプション設定の影響を受けます。設定がオフになっている場合、この機能は無効になります。 Curl はこの設定の影響を受けません。
4.curl は、POST データ、フォーム送信など、さまざまなリクエストをシミュレートできます。ユーザーは、独自のニーズに応じてリクエストをカスタマイズできます。また、fopen/file_get_contents は get メソッドのみを使用してデータを取得できます。
file_get_contents はリモート ファイルを取得するときに結果を文字列に保存し、fields 関数は結果を配列に保存します
したがって、私は依然として、リモート URL にアクセスするために、curl を使用することを好みます。 Phpにはcurlモジュール拡張機能があり、これは非常に強力です。
長く話すと、パフォーマンスでは比較にならないと言われるかもしれませんので、見てみましょう
最近、他人のサイトから音楽データを入手する必要があります。 file_get_contents 関数を使用しましたが、マニュアルの例に従ってタイムアウトを設定しても、ほとんどの場合機能しませんでした。
コードをコピー | |
)
'timeout' => 5//このタイムアウトは不安定で、動作しないことがよくあります ) )); |
コードをコピー | |
コードをコピー | |
$ch =curl_init(); curl_setopt($ch, CURLOPT_URL, $durl); curl_setopt($ch, CURLOPT_TIMEOUT, 5); curl_setopt($ch, CURLOPT_USERAGENT, _USERAGENT_); curl_setopt($ch, CURLOPT_REFERER,_REFERER_); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $r =curl_exec($ch); curl_close($ch); $r; を返します } |
代码如下 | 复制幣 |
<?php |
テストアクセス
http://www.bKjia.c0m
file_get_contents 速度: 4.2404510975 秒
カール速度:2.8205530643秒
curl は file_get_contents よりも約 30% 高速であり、最も重要なことはサーバーの負荷が低いことです。
概要
file_get_contentsの処理が頻繁で小さい場合に使うと良い感じです。何も珍しいことはありません。ファイルが 1,000 人以上によって処理された場合。その後、サーバーの CPU はブーストを待っています。したがって、今後 PHP コードを作成する際には、curl ライブラリを使用することをお勧めします。
ことがわかります。
人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法
