diff --git a/include/get-download.inc b/include/get-download.inc
index 3268cac1c..f19e3f79e 100644
--- a/include/get-download.inc
+++ b/include/get-download.inc
@@ -32,8 +32,8 @@ $size = 0;
// No downloadable file found
if ($file === FALSE) {
$info = "
- The file you requested ( " . htmlspecialchars($df, ENT_QUOTES, "UTF-8") . " ) is not found on
- this server ({$MYSITE}). Please try another mirror listed below
";
+ The file you requested (" . htmlspecialchars($df, ENT_QUOTES, "UTF-8") . ") is not found on
+ this server ({$MYSITE}).";
echo <<Download not found
@@ -44,32 +44,8 @@ EOT;
$local_file = $_SERVER['DOCUMENT_ROOT'] . '/distributions/' . $file;
// Try to get filesize to display
$size = @filesize($local_file);
-
-
-?>
-
-
Choose mirror site for download
-
-
- You have chosen to download the following file:
-
-
-
-(' . number_format($size, 0, '.', ',') . ' bytes)';
}
?>
-
-
';
@@ -105,18 +103,6 @@ site_header("The PHP mirrors problem and troubleshooting guide", array("current"
AddType application/octet-stream .msi
-
-
An unlisted mirror
-
- If you have an official mirror server but it's not listed on
- mirrors.php or available from
- my.php then your mirror most likely failed the mirror
- tests and suffers from one of the problems listed here. Mirrors that fail
- the tests are automatically removed from the listing for our user's
- convenience. We send out weekly notifications to all disabled mirror
- maintainers, and to the mirrors@lists.php.net mailing list.
-
- If you would like to participate in the official PHP mirrors program,
- please read and follow these instructions carefully. You should have
- the consent of your hosting company (if you aren't a hosting company
- yourself), and be prepared for some potentially significant bandwidth
- usage. As of 25 September, 2013, the network of mirrors is averaging
- 251GB per day (about 7.52TB per month). At the time of the updating
- of this page, this load was spread across 90 active mirrors, indicating
- an overall average of 2.9GB per mirror. This can go up to 12GB per
- day or more for busy mirrors, such as those in the US, UK, and India.
- And immediately following new releases of PHP, the traffic spikes even
- higher (as should be expected) due to a surge in the number of downloads.
- Please be sure your server or hosting account is able to handle a minimum
- of roughly 42 gigabytes of transfer each month without incurring any
- additional costs or penalties, as the mirrors with the fewest requests
- per month are still averaging this amount of bandwidth usage per month.
- In the event that such action is taken against your account, remember:
- it is your responsibility.
+ The PHP project does no have an official mirror program anymore, but you can
+ set-up a mirror for your own network or company.
- Official mirror program participants are required to use PHP 5.3.21 or
- greater, but please note that we encourage maintainers to always use the
- latest stable versions of actively-developed branches. Please note that
- we do, somewhat regularly (about once per year) require existing
- maintainers to upgrade their PHP versions to a new minimum, so always
- being proactive in upgrades will ensure that your mirror remains in
- compliance with the official mirrors program. Set it up as an Apache
- module with the settings outlined below, or in
- any other Apache connected way (CGI, FastCGI, etc), considering the
- requested PHP settings outlined below in the Apache vhost instructions.
- The size of the full website is approximately 4.7 gigabytes.
-
-
-
- NOTE: Some of our maintainers prefer to use web servers other
- than Apache, such as Nginx.
- While this is permitted (as long as everything ultimately works as
- directed), we do not officially support these setups at this time.
- If you would like to learn how to set up an alternative environment,
- feel free to post a question to current mirror maintainers on the
- mailing list at php-mirrors@lists.php.net.
-
-
-
- Applications to join the official mirror program are reviewed on a
- case-by-case basis, but we will only approve those from ISPs and web
- hosting providers; universities and state-recognized academic institutions;
- PHP-centric web development firms; and PHP user groups and individual
- enthusiasts. Under no circumstances will we even review applications from
- marketing firms, website portals or directories, or anything of
- questionable moral or legal standing. We also reserve the right, at our
- discretion, and without warning, to refuse any application for any reason,
- or to suspend or expell any active mirrors if it is discovered that any
- information on the application was false or otherwise incorrect, or if
- the mirrors fails to remain in compliance with the official mirrors program.
-
-
-
-
- Please note that we are currently only accepting new applications for
- countries in which we don't already have two official mirror presences.
- For a list of active official mirrors, see mirrors.php.
- Prior to attempting to set up an official mirror site, you are advised to contact php-mirrors@lists.php.net (a public
- mailing list, archived in numerous places on the Internet) to inquire as to
- whether or not your application may be accepted. We have found that this limit
- serves our users well, so please do not ask to provide a third mirror for a country
- that already has two. Please also be aware that the mirror is required to be
- physically located in the country you would like to serve. If there are already
- two mirrors in a country for which you would like to provide an official mirror,
- you may add your information to the official waiting list, which can be found
- here. If and when
- a vacancy becomes available, we will go through the applications on the waiting
- list before entertaining new public applications.
-
-
-
- If you are not an official mirror (e.g. you mirror the site for your company's
- internal use), you should not synchronize from our network more frequently
+ You should not synchronize from our network more frequently
than once every six hours, or you may find your IP blocked. Also, please make
an effort to only mirror those parts of the site that you actually need.
(For example, exclude the manual in all languages that you
@@ -120,20 +47,11 @@ site_header(
First, you need to have a rsync
- installed. To better serve our official mirror providers and maintainers,
- we switched to a geographically-decentralized distribution architecture. By
- switching from a single United States-based master server to three Regional
- Rsync Nodes (RRNs), we're able to reduce the amount of latency and time to
- transfer data between an RRN and a mirror, serve more requests per hour
- (allowing for a closer to real-time network update globally), and provide
- redundancy in the event of an outage of a sync server.
-
-
-
- To synchronize your server with the appropriate RRN, first view the coverage map
- and identify which RRN your mirror should be using. Next, modify the
- following code for use with your mirror. Replace YOUR_RRN_HOSTNAME
+ and identify which location your mirror should be using. Next, modify the
+ following code for use with your mirror. Replace YOUR_RRN_HOSTNAME
with your RRN's hostname as indicated by the coverage map and be sure to
change /your/local/path with the path to where your php.net
mirror will reside on the filesystem.
@@ -147,8 +65,7 @@ site_header(
- Setting up an unofficial mirror, and want to only mirror one
- language of the manual? Add:
+ If you only want to mirror mirror one language of the manual? Add:
@@ -164,7 +81,7 @@ site_header(
- Official PHP mirror sites should provide the exact content coming from our servers,
+ PHP mirror sites should provide the exact content coming from our servers,
and must not be altered in any way unless explicitly stated in the mirroring
guidelines. Failing to do will result in immediate termination and permanent
expulsion of your participation in the program.
@@ -175,9 +92,8 @@ site_header(
SQLite is an embedded
SQL database implementation that has very high performance for applications
- with low write concurrency. PHP mirrors currently employ SQLite for URL
- shortcut lookups, and it is a requirement of all official mirrors to have
- it installed and available to PHP.
+ with low write concurrency. PHP mirrors can currently employ SQLite for URL
+ shortcut lookups.
- You should only start to set up an Apache VirtualHost for an official
- mirror if you have contacted us first and received
- the permanent names for your mirror. The names for all official PHP mirrors
- are in the convention: ccx.php.net, where cc
- stands for the 2-letter ISO country code of your mirror's location and
- x is an incremental identifier for the mirrors of that country.
- Do not assume that you know the code you will receive until your application
- has been reviewed and approved, and do not submit an application saying, for
- example, "We are applying to become DE1.PHP.NET." It's possible that the
- mirror already exists, but is experiencing issues that have it temporarily
- removed from active rotation, and delisted from the roster of mirrors. We do
- not want anyone to waste their time only to have their application altered
- or rejected. The mirrors should also listen for the cc.php.net
- hostname, as we moved to providing a simple load-balancing solution:
- round-robin DNS.
- All mirrors are required to be configured for both CC and CCX, so any active
- mirror can receive traffic for their respective cc.php.net
- hostname, thus providing redundancy and improved uptime for visitors.
-
-
-
- Before adding new official mirrors to our DNS, we require the maintainers
- to set up the mirrors with an address we can use as a CNAME in the DNS.
- This subdomain (the.cname.you.set.up.example.com in the above
- example) will be checked by mirror admins before the mirror is added.
- Therefore it is important that the mirror is capable of serving requests
- for this name and the (www.)cc(x).php.net address provided by the
- mirror administrators.
-
-
-
- The hostname you provide to us must be a configured hostname to be entered
- into our DNS as a CNAME, not an IP address to be used as an A record. Your
- local DNS information may then translate into both IPv4 and IPv6, should
- you so desire and have the capabilities, but may not exclude IPv4 from the
- record until further notice.
-
-
When setting up the vhost, provide an asterisk, a hostname, or an IP
address in the VirtualHost container's header (depending on whether
you would like to make the vhost work for all IPs handled by Apache,
or just a specific hostname/IP address). Consult
the Apache
- documentation for the differences of the two methods. It is very
- important to use your ccx.php.net address as the ServerName, so
- URL redirections will keep the requests in the php.net domain, ensuring
- that the My PHP.net service will work. Failure to do so will also cause
- your mirror to show up as an unofficial mirror, and to be removed from the
- roster page.
+ documentation for the differences of the two methods.
@@ -340,13 +211,13 @@ site_header(
You must also set up a cron job that periodically does an rsync to
refresh your web directory. We prefer that all mirrors update from
- the appropriate RRN from the coverage map every five minutes, to
+ the appropriate RRN from the coverage map not more than once an hour, to
speed up the distribution of updates to the site and available packages.
Something like:
@@ -387,11 +258,7 @@ site_header(
on your hosting company's site if possible. Grab one of the logos
from the logos download page, and
link it to your mirror. This shows the community that you are a
- proud supporter of PHP and open source technology, and you will be
- worshipped every hour, on the hour, in song and dance, by millions of
- proboscis monkeys
- the world over. Well, okay, perhaps not.... but folks will certainly
- appreciate your generosity and support!
+ proud supporter of PHP and open source technology.
Mirror Setup Troubleshooting
@@ -403,68 +270,17 @@ site_header(
perform many of the tests executed by the automated mirror management tools.
-
Data Registered About Official Mirrors
-
-
- Once you have done the above and your site appears to work, send a message
- to php-mirrors@lists.php.net
- with the following information, and appropriate steps will be taken to
- integrate your mirror site:
-
-
-
-
- Your country.
-
-
- The ccx.php.net address you used to set up the mirror site, which
- you obtained previously in a conversation with the mirror admins.
-
-
- Your name and email address to be registered as the admin of the mirror.
-
-
- A hostname that we can use as a CNAME for the country-code-based
- name of the mirror (the.cname.you.set.up.example.com in the
- above setup example). Using a name means you can move the mirror to
- another IP address without coordinating with us at all (though, obviously,
- it must still be in the country you intend to serve).
-
-
- Whether or not you've installed local stats support on your mirror.
-
-
- The name of the sponsor approved previously by mirror program staff.
-
-
- The URL of the sponsor. This link is provided with the sponsor's name
- at the bottom of pages, with the sponsor image on the front page and
- in the mirror listing.
-
-
-
There is a mailing list named "php-mirrors" at
- lists.php.net, to which you are required to subscribe.
+ lists.php.net, to which you can subscribe.
This mailing list is very low-traffic and only used for communication
- between mirror maintainers and php.net webmasters, and to provide
- automatic information on mirror outages and other issues.
+ between mirror maintainers and php.net webmasters.
- We also operate an EFNet channel, and encourage you to join us there.
- If you are interested, please join us at #php.mirrors.
- Many maintainers and staff members idle in the room around the clock,
- and are available to address questions, concerns, or issues in
- real-time (keeping in mind that the mailing list is the official
- support channel, and this is just a convenient additional method of
- communication between teams).
-
-
Thank you for your interest in providing a mirror! If you ever have any
diff --git a/mirrors.php b/mirrors.php
index 067ccbac7..ad3f17120 100644
--- a/mirrors.php
+++ b/mirrors.php
@@ -1,44 +1,5 @@
'community',
- 'css' => array('mirror.css')
-);
-site_header("Mirror Sites", $header_config);
-
-
-?>
-
-
-
Mirror Sites
-
-
-
- Listed below are the official, active, and fully functional PHP.net mirrors.
- Some mirrors might be missing from this list because mirrors are
- automatically deactivated when problems arise. Mirrors are continuously
- checked and reactivated when appropriate.
-
-
- We suggest you choose a PHP.net mirror that is
- geographically close to you. All mirrors provide identical features and
- services, with the only difference being the increased speed that close
- mirrors provide. Your current mirror is highlighted in the list below.
-
- The PHP.net site and mirror sites try to detect your country
+ The PHP.net site tries to detect your country
using the Directi
Ip-to-Country Database. This information is used to mark
- the events in your country specially and to offer close mirror
- sites if possible on the download page and on the mirror listing
- page.
+ the events in your country specially.
- The php.net site redirects users to mirror sites in several cases
- automatically. It tries to find a close mirror first (a mirror in the
- user's country), and if no such mirror is found, it selects one mirror
- randomly. Here you can set one preferred mirror site for yourself in
- case you are not satisfied with the automatic selection.
-
-
-
- Please note that in case the site finds your preferred mirror site disabled
- for some reason, it will fall back to the automatic selection procedure, but
- will not alter your preferences, so next time when your selected server works,
- the redirections will lead you there.
-