php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #75974 php.net has an IPv6 assigned but web server is unreachable
Submitted: 2018-02-16 21:46 UTC Modified: 2018-10-27 16:57 UTC
From: receiver at timreeves dot de Assigned: tstarling (profile)
Status: Closed Package: Systems problem
PHP Version: 7.2.2 OS: Any
Private report: No CVE-ID: None
 [2018-02-16 21:46 UTC] receiver at timreeves dot de
Description:
------------
As stated, the website www.php.net has an IPv6 address assigned in DNS - 2001:660:7401:211::36 - but is not reachable via webserver.

I discovered this the hard way: I tried to install software on a Debian-8 Server which does this while checking requirements:

file_get_contents("http://www.php.net/releases/index.php?serialize=1");

On Debian 8 (Hetzner, Germany, with Plesk Onyx) this hangs until the webserver times out, the software cannot be installed. On Ubuntu Servers and other Webhosting Packages this does not occur, either becuae IPv4 is preferred or the OS does not hang on IPv6 but soon goes to IPv4.

I cannot find any way around this using PHP open URL, But id is possible to get around it using curl in PHP and passing CURL_IPRESOLVE_V4 option - that works fine.

Test script:
---------------
http://ipv6-test.com/validate.php and enter www.php.net


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2018-02-20 14:46 UTC] cmb@php.net
-Package: Website problem +Package: Systems problem
 [2018-02-23 06:46 UTC] ssv dot uia at mail dot ru
URL http://www.php.net/releases/index.php?serialize=1 does not open? but http://php.net/releases/index.php?serialize=1 open.

Result: a:4:{i:7;a:3:{s:12:"announcement";b:1;s:6:"source";a:3:{i:0;a:4:{s:8:"filename";s:17:"php-7.2.2.tar.bz2";s:4:"name";s:19:"PHP 7.2.2 (tar.bz2)";s:6:"sha256";s:64:"f841ac58e17471f2241ea892b34edb01dc9b93ad9f661ffe4e3f1f476a8f4aee";s:4:"date";s:10:"1 Feb 2018";}i:1;a:4:{s:8:"filename";s:16:"php-7.2.2.tar.gz";s:4:"name";s:18:"PHP 7.2.2 (tar.gz)";s:6:"sha256";s:64:"5963df05fec21927c03fe9f7bf379be2d1eacde6c0f9dcde6143c7133e55abd4";s:4:"date";s:10:"1 Feb 2018";}i:2;a:4:{s:8:"filename";s:16:"php-7.2.2.tar.xz";s:4:"name";s:18:"PHP 7.2.2 (tar.xz)";s:6:"sha256";s:64:"47d7607d38a1d565fc43ea942c92229a7cd165f156737f210937e375b243cb11";s:4:"date";s:10:"1 Feb 2018";}}s:7:"version";s:5:"7.2.2";}i:5;a:4:{s:12:"announcement";b:1;s:6:"source";a:3:{i:0;a:4:{s:8:"filename";s:18:"php-5.6.33.tar.bz2";s:4:"name";s:20:"PHP 5.6.33 (tar.bz2)";s:6:"sha256";s:64:"07f696a9761dcd839e2045c95c3a4d2ffb52c54417477cca9d30a14975b831cc";s:4:"date";s:11:"04 Jan 2018";}i:1;a:4:{s:8:"filename";s:17:"php-5.6.33.tar.gz";s:4:"name";s:19:"PHP 5.6.33 (tar.gz)";s:6:"sha256";s:64:"bedfac81cfaa25961812a1aec458c4109411a14991b43a416343ffb830b8da6a";s:4:"date";s:11:"04 Jan 2018";}i:2;a:4:{s:8:"filename";s:17:"php-5.6.33.tar.xz";s:4:"name";s:19:"PHP 5.6.33 (tar.xz)";s:6:"sha256";s:64:"9004995fdf55f111cd9020e8b8aff975df3d8d4191776c601a46988c375f3553";s:4:"date";s:11:"04 Jan 2018";}}s:4:"date";s:11:"04 Jan 2018";s:7:"version";s:6:"5.6.33";}i:4;a:6:{s:12:"announcement";a:1:{s:7:"English";s:19:"/releases/4_4_9.php";}s:6:"source";a:2:{i:0;a:4:{s:8:"filename";s:17:"php-4.4.9.tar.bz2";s:4:"name";s:19:"PHP 4.4.9 (tar.bz2)";s:3:"md5";s:32:"2e3b2a0e27f10cb84fd00e5ecd7a1880";s:4:"date";s:14:"07 August 2008";}i:1;a:4:{s:8:"filename";s:16:"php-4.4.9.tar.gz";s:4:"name";s:18:"PHP 4.4.9 (tar.gz)";s:3:"md5";s:32:"9bcc1aba50be0dfeeea551d018375548";s:4:"date";s:14:"07 August 2008";}}s:7:"windows";a:1:{i:0;a:4:{s:8:"filename";s:19:"php-4.4.9-Win32.zip";s:4:"name";s:21:"PHP 4.4.9 zip package";s:3:"md5";s:32:"7395068d5489a9f8abf50c6e4b48622f";s:4:"date";s:14:"07 August 2008";}}s:4:"date";s:14:"07 August 2008";s:6:"museum";b:1;s:7:"version";s:5:"4.4.9";}i:3;a:5:{s:4:"date";s:11:"20 Oct 2000";s:6:"source";a:1:{i:0;a:3:{s:8:"filename";s:17:"php-3.0.18.tar.gz";s:4:"name";s:22:"PHP 3.0.18 Source Code";s:3:"md5";s:32:"b4b8f7f1151ce66d5f3910a066651133";}}s:7:"windows";a:1:{i:0;a:3:{s:8:"filename";s:20:"php-3.0.17-win32.zip";s:4:"name";s:25:"PHP 3.0.17 Windows binary";s:3:"md5";s:32:"29029ac1c3c2075dce38bbd804c42f72";}}s:6:"museum";b:1;s:7:"version";s:14:"3.0.x (latest)";}}
 [2018-02-24 16:42 UTC] receiver at timreeves dot de
php.net opnes, as stated above, but via IPv4. The problem is:
php.net has no IPv6 address (AAAA) but www.php.net does have an AAAA.
 [2018-02-25 01:44 UTC] rasmus@php.net
Keep in mind that www.php.net is geodns'ed. So when you say www.php.net has a specific AAAA record, it is actually the specific mirror you are being geodns'ed to that you are talking about.
 [2018-10-27 16:57 UTC] tstarling@php.net
-Status: Open +Status: Closed -Assigned To: +Assigned To: tstarling
 [2018-10-27 16:57 UTC] tstarling@php.net
Seems fixed now.

www.php.net has IPv6 address 2a02:cb41::7
www.php.net has IPv6 address 2001:470:0:b9::4047:a405

$ ping6 2a02:cb41::7
PING 2a02:cb41::7(2a02:cb41::7) 56 data bytes
64 bytes from 2a02:cb41::7: icmp_seq=1 ttl=49 time=71.2 ms

$ ping6 2001:470:0:b9::4047:a405
PING 2001:470:0:b9::4047:a405(2001:470:0:b9::4047:a405) 56 data bytes
64 bytes from 2001:470:0:b9::4047:a405: icmp_seq=1 ttl=60 time=1.50 ms

ipv6-test.com says it works.
 [2018-10-27 17:01 UTC] tstarling@php.net
2001:660:7401:211::36 also works, using

$ curl -vvv -x '[2001:660:7401:211::36]:80' www.php.net
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Apr 25 16:01:28 2024 UTC