1<?php 2$_SERVER['BASE_PAGE'] = 'mirroring-troubles.php'; 3include_once __DIR__ . '/include/prepend.inc'; 4 5$SIDEBAR_DATA = ' 6<h3>Other mirror information</h3> 7<p> 8 See also the instructions for <a href="/mirroring.php">setting up a mirror</a>. 9</p> 10'; 11 12site_header("The PHP mirrors problem and troubleshooting guide", ["current" => "help"]); 13?> 14 15<h1>Common troubles that PHP.net mirrors face</h1> 16<p> 17 Mirroring a PHP.net server requires a few specific settings and 18 considerations, and this document provides a list of problems with possible 19 solutions. The mirror tools check for these problems and automatically 20 disable the problematic mirrors. The [<strong>?</strong>] link within each 21 title may be used to test this mirror. 22</p> 23 24<a name="multiviews"></a> 25<h3>MultiViews are on [<a href="/functions">?</a>]</h3> 26<p> 27 Because the 'Options' directive may be ignored in VirtualHost, a 28 solution is to move the MultiViews option into a specific 29 directory and disable it from there. For example: 30</p> 31<pre class="info"> 32 <VirtualHost *:80> 33 <Directory /path/to/phpweb> 34 Options -Indexes -MultiViews 35 </Directory> 36 37 DocumentRoot /path/to/phpweb 38 ServerName .... 39 .... 40 </VirtualHost> 41</pre> 42<p> 43 The <a href="mirroring.php#settings">mirror settings</a> example also 44 demonstrates this use. See also the Apache documentation that describes 45 <a href="http://httpd.apache.org/docs/content-negotiation.html"> 46 Content Negotiation</a>. 47</p> 48 49<a name="content-type"></a> 50<h3>Improper Content-Type [<a href="/manual/en/faq.html.php">?</a>]</h3> 51<p> 52 Some pages are returning incorrect <code>Content-Type</code> headers. For example, 53 xx.php.net/manual/en/faq.html.php should be returning <code>text/html</code> 54 instead of <code>application/x-httpd-php</code>. See also the Apache 55 documentation describing 56 <a href="http://httpd.apache.org/docs/content-negotiation.html">Content 57 Negotiation</a>. This problem might be specific to 58 <a href="http://apache.lexa.ru/">Russian Apache</a>. 59</p> 60 61<a name="manual-redirect"></a> 62<h3>Manual redirects [<a href="/manual/">?</a>]</h3> 63<p> 64 By default, Apache inserts an alias for <code>/manual/</code> in the configuration 65 and this causes problems for mirrors. So for example if you find that 66 the manuals are listed on the documentation page but all of the links 67 open up a search page, you probably suffer from this problem and must 68 remove that alias. 69</p> 70 71<a name="shortcuts"></a> 72<h3>Broken manual shortcuts [<a href="/echo">?</a>]</h3> 73<p> 74 If the shortcut features [e.g. xx.php.net/echo] are not working, be sure 75 the manual files are really under <code>DOCUMENT_ROOT</code> and that the English 76 manual files are present. Also make sure that you have a correct 77 ErrorDocument setting. 78</p> 79 80<a name="invalid-data"></a> 81<h3>Invalid data types [<a href="/testing">?</a>]</h3> 82<p> 83 Invalid data is being received, and this is probably caused by improper error 84 handler settings. See the <a href="mirroring.php">mirror guidelines</a> 85 for how to setup the ErrorDocument. 86</p> 87 88<a name="var"></a> 89<h3>A misguided var handler [<a href="/manual/en/ref.var.php">?</a>]</h3> 90<p> 91 The <a href="mirroring.php">mirroring guidelines</a> mention that Apache2 92 enables a 'var' handler by default and this may be disabled by using 93 <code>RemoveHandler var</code> in the configuration file. 94</p> 95 96<a name="msi"></a> 97<h3>Mishandling of .msi files</h3> 98<p> 99 When improperly set, users are not given a "download this file" prompt 100 when attempting to download the PHP Installer (a .msi file). Your web 101 server configuration should be adjusted to force .msi files as 102 'application/octet-stream'. In Apache this may be done by using: 103 <code>AddType application/octet-stream .msi</code> 104</p> 105 106<a name="slow"></a> 107<h3>Slow response time</h3> 108<p> 109 Although this test is currently a little unfair (it's only based from the 110 USA), the response time of the server exceeds five seconds. Please confirm 111 the speed of these mirrors and we'll likely adjust the testing procedure. 112 This test will be performed from multiple locations in the future. 113</p> 114 115<a name="outbound"></a> 116<h3>Unable to do external searches [<a href="results.php?q=curl&p=manual&l=en">?</a>]</h3> 117<p> 118 Several searches require outbound connections to www.php.net, so this is 119 a test for that. The www.php.net box then connects to a third-party search engine. 120</p> 121 122<?php 123site_footer(); 124