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.
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.
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.
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.
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 is being received, and this is probably caused by improper error handler settings. See the mirror guidelines for how to setup the ErrorDocument.
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.
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
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.