xref: /web-php/downloads.php (revision 9a1fd557)
1<?php
2$_SERVER['BASE_PAGE'] = 'downloads.php';
3include_once __DIR__ . '/include/prepend.inc';
4include_once __DIR__ . '/include/gpg-keys.inc';
5include_once __DIR__ . '/include/version.inc';
6
7// Try to make this page non-cached
8header_nocache();
9
10$SHOW_COUNT = 4;
11
12$SIDEBAR_DATA = '
13<div class="panel">
14  <a href="/supported-versions.php">Supported Versions</a>
15  <div class="body">
16    Check the <a href="/supported-versions.php">supported versions</a> page for
17    more information on the support lifetime of each version of PHP.
18  </div>
19</div>
20
21<p class="panel"><a href="download-docs.php">Documentation download</a></p>
22<p class="panel"><a href="download-logos.php">PHP logos</a></p>
23
24<p class="panel"><a href="/git.php">Development sources (git)</a></p>
25<p class="panel"><a href="/releases/">Old archives</a></p>
26';
27
28site_header("Downloads",
29    [
30        'link' => [
31            [
32                "rel" => "alternate",
33                "type" => "application/atom+xml",
34                "href" => $MYSITE . "releases/feed.php",
35                "title" => "PHP Release feed",
36            ],
37        ],
38        "current" => "downloads",
39    ],
40);
41?>
42<h1>Downloads &amp; Installation Instructions</h1>
43
44<p>
45    <a href="/manual/install.general.php">Installing PHP</a> is covered
46    thoroughly in the PHP documentation.
47</p>
48
49<h2>Binaries</h2>
50
51<p>
52    <a href="https://windows.php.net/download/">Binaries are available for
53    Microsoft Windows</a>. The PHP project does not currently release binary packages
54    for other platforms such as Linux or macOS, but they are packaged by distributions
55    and other providers. For more information, see:
56
57    <ul>
58        <li>
59            <a href="/manual/install.unix.php">Installation instructions for Unix systems</a>
60        </li>
61        <li>
62            <a href="/manual/install.macosx.php">Installation instructions for macOS</a>
63        </li>
64    </ul>
65</p>
66
67<h2>Source Code</h2>
68<?php $i = 0; foreach ($RELEASES as $MAJOR => $major_releases): /* major releases loop start */
69        $releases = array_slice($major_releases, 0, $SHOW_COUNT);
70?>
71<a id="v<?php echo $MAJOR; ?>"></a>
72<?php foreach ($releases as $v => $a): ?>
73  <?php $mver = substr($v, 0, strrpos($v, '.')); ?>
74  <?php $stable = $i++ === 0 ? "Current Stable" : "Old Stable"; ?>
75
76  <h3 id="v<?php echo $v; ?>" class="title">
77    <span class="release-state"><?php echo $stable; ?></span>
78    PHP <?php echo $v; ?>
79    (<a href="/ChangeLog-<?php echo $MAJOR; ?>.php#<?php echo urlencode($v); ?>" class="changelog">Changelog</a>)
80  </h3>
81  <div class="content-box">
82
83    <ul>
84      <?php foreach ($a['source'] as $rel): ?>
85        <li>
86          <?php download_link($rel['filename'], $rel['filename']); ?>
87          <span class="releasedate"><?php echo date('d M Y', strtotime($rel['date'])); ?></span>
88          <?php
89            if (isset($rel['md5']))    echo '<span class="md5sum">', $rel['md5'], '</span>';
90            if (isset($rel['sha256'])) echo '<span class="sha256">', $rel['sha256'], '</span>';
91           ?>
92          <?php if (isset($rel['note']) && $rel['note']): ?>
93            <p>
94              <strong>Note:</strong>
95              <?php echo $rel['note']; ?>
96            </p>
97          <?php endif; ?>
98        </li>
99      <?php endforeach; ?>
100      <li>
101        <a href="https://windows.php.net/download#php-<?php echo urlencode($mver); ?>">
102          Windows downloads
103        </a>
104      </li>
105    </ul>
106
107    <a href="#gpg-<?php echo $mver; ?>">GPG Keys for PHP <?php echo $mver; ?></a>
108  </div>
109<?php endforeach; ?>
110<?php endforeach; /* major releases loop end */ ?>
111
112<hr>
113<h2>GPG Keys</h2>
114<p>
115The releases are tagged and signed in the <a href='git.php'>PHP Git Repository</a>.
116The following official GnuPG keys of the current PHP Release Manager can be used
117to verify the tags:
118</p>
119
120<?php gpg_key_show_keys(true /* activeOnly */); ?>
121
122<p>
123  <a href="gpg-keys.php">
124    A full list of GPG keys used for current and older releases is also
125    available.
126  </a>
127</p>
128
129<?php
130site_footer(['sidebar' => $SIDEBAR_DATA]);
131