I just finished comparing a whole bunch of OS’s to determine which is the most compatible (widely available) way to fetch an external HTTP page from PHP. The winner is:
fsockopen – it was available on 100% of the tested systems. I was only interested in HTTP pages, not HTTPS, so the ssl transport might not be as widely available. One sidenote: it is interesting that many people disable “allow_url_fopen”, but leave fsockopen in, even though in many cases they are one and the same thing…
Debian 4.0 | CentOS 5.2 | Ubuntu Server 8.04 LTS | Gentoo 2008.0 | IIS4 + PHP 5.2 | OpenSUSE 11.0 | FreeBSD 7.0 | OpenBSD 4.4** | WinXP + Apache 2.2 + PHP 5.2 | WinXP + XAMPP 1.6.8 | Slackware 12.1* | ||
cURL installed | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 27% |
wget installed | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 45% |
php_curl installed | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 36% |
php_curl enabled | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 18% |
sockets installed | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 100% |
sockets enabled | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 100% |
url_fopen enabled | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 82% |
Notes:
*mod_php is not enabled by default
** php installed with pkg_add php5-core