PHP 8.4.2 Released!

Common troubles that mirrors of PHP.net face

Mirroring the PHP.net website requires a few specific settings and considerations, and this document provides a list of problems with possible solutions. 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

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