CakeFest 2024: The Official CakePHP Conference

Common troubles that PHP.net mirrors face

Mirroring a PHP.net server requires a few specific settings and considerations, and this document provides a list of problems with possible solutions. The mirror tools check for these problems and automatically disable the problematic mirrors. The [?] link within each title may be used to test this mirror.

MultiViews are on [?]

Because the 'Options' directive may be ignored in VirtualHost, a solution is to move the MultiViews option into a specific directory and disable it from there. For example:

  <VirtualHost *:80>
    <Directory /path/to/phpweb>
      Options -Indexes -MultiViews
    </Directory>

    DocumentRoot /path/to/phpweb
    ServerName ....
    ....
  </VirtualHost>

The mirror settings example also demonstrates this use. See also the Apache documentation that describes Content Negotiation.

Improper Content-Type [?]

Some pages are returning incorrect Content-Type headers. For example, xx.php.net/manual/en/faq.html.php should be returning text/html instead of application/x-httpd-php. See also the Apache documentation describing Content Negotiation. This problem might be specific to Russian Apache.

Manual redirects [?]

By default, Apache inserts an alias for /manual/ in the configuration and this causes problems for mirrors. So for example if you find that the manuals are listed on the documentation page but all of the links open up a search page, you probably suffer from this problem and must remove that alias.

Broken manual shortcuts [?]

If the shortcut features [e.g. xx.php.net/echo] are not working, be sure the manual files are really under DOCUMENT_ROOT and that the English manual files are present. Also make sure that you have a correct ErrorDocument setting.

Invalid data types [?]

Invalid data is being received, and this is probably caused by improper error handler settings. See the mirror guidelines for how to setup the ErrorDocument.

A misguided var handler [?]

The mirroring guidelines mention that Apache2 enables a 'var' handler by default and this may be disabled by using RemoveHandler var in the configuration file.

Mishandling of .msi files

When improperly set, users are not given a "download this file" prompt when attempting to download the PHP Installer (a .msi file). Your web server configuration should be adjusted to force .msi files as 'application/octet-stream'. In Apache this may be done by using: AddType application/octet-stream .msi

Slow response time

Although this test is currently a little unfair (it's only based from the USA), the response time of the server exceeds five seconds. Please confirm the speed of these mirrors and we'll likely adjust the testing procedure. This test will be performed from multiple locations in the future.

Unable to do external searches [?]

Several searches require outbound connections to www.php.net, so this is a test for that. The www.php.net box then connects to a third-party search engine.

To Top