Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is the PHP CURL api cleaner/faster/better than using streams for HTTP/HTTPS access?

Tags:

http

php

curl

https

I currently use pretty exclusively the PHP stream context functionality (see http://us2.php.net/manual/en/function.stream-context-create.php) to access HTTP resources and I've been able to successfully use it to do PUTs, DELETEs, POSTs, manage cookies and do just about everything I've needed to do. I originally started using it because I had SSL issues with earlier Debian PHP cURL builds (there was an OpenSSL double-initialization issue within the Apache process that errored out when trying to access SSL urls): those are probably fixed now but I've not had occasion to go back.

In discussions with a friend he contended that the cURL api is faster/better so I wanted to ask: is there any definite experience/knowledge about which option is superior, and in what ways?

like image 755
Femi Avatar asked May 17 '11 02:05

Femi


2 Answers

Streams are pretty neat in my experience. You probably know it already, but here's a post on streams with a twist in case not:

http://fabien.potencier.org/article/44/php-iterators-and-streams-are-awesome

Curl is nice and fast, and simple; but I honestly wouldn't prefer one or the other for performance reasons. I've never measured but I doubt it makes that much of a difference in comparison with the overhead of doing a remote request in the first place.

like image 192
Denis de Bernardy Avatar answered Sep 23 '22 23:09

Denis de Bernardy


In regards to performance, cURL wins by a lot consistently. I won't deny that it's harder to use and it might not matter for general use, but the difference was pretty dramatic and I thought it was worth pointing out.

like image 29
Jimmy Sawczuk Avatar answered Sep 26 '22 23:09

Jimmy Sawczuk