apache ищет index.html вместо index.php [duplicate]

Большинство ответов здесь затрагивают этот вопрос в очень сухих технических терминах. Я хотел бы остановиться на этом в терминах, которые могут понять обычные люди.

Представьте, что вы пытаетесь нарезать пиццу. У вас есть роботизированный резак для пиццы, который может разрезать кусочки пиццы ровно пополам. Он может вдвое сократить целую пиццу, или он может сократить вдвое существующий кусочек, но в любом случае половина всегда точна.

У этого резца пиццы очень хорошие движения, и если вы начнете с целой пиццы, затем уменьшите вдвое и продолжайте вдвое уменьшать наименьший срез каждый раз, вы можете сделать половину 53 раза , прежде чем срез слишком мал для даже его высокоточных способностей. В этот момент вы уже не можете вдвое уменьшить этот тонкий срез, но должны либо включать, либо исключать его, как есть.

Теперь, как бы вы отделили все срезы таким образом, чтобы добавить один (0,1) или одну пятую (0,2) пиццы? На самом деле подумайте об этом и попробуйте разобраться. Вы даже можете попытаться использовать настоящую пиццу, если у вас есть мифическая пресса для резки пиццы под рукой. : -)


Большинство опытных программистов, конечно же, знают реальный ответ, который заключается в том, что нет возможности собрать кусок точной десятой или пятой пиццы используя эти срезы, независимо от того, насколько мелко вы их нарезаете. Вы можете сделать довольно хорошее приближение, и если вы добавите аппроксимацию 0,1 с аппроксимацией 0,2, вы получите довольно хорошее приближение 0,3, но это все равно именно это, приближение.

Для двойного -оценки (это точность, которая позволяет вам вдвое сократить вашу пиццу 53 раза), цифры сразу меньше и больше 0,1 - 0.09999999999999999167332731531132594682276248931884765625 и 0,1000000000000000055511151231257827021181583404541015625. Последнее немного ближе к 0,1, чем первое, поэтому числовой синтаксический анализатор, учитывая ввод 0,1, благоприятствует последнему.

(Разница между этими двумя числами - это «самый маленький срез», который мы должны решить либо включить, что вводит восходящее смещение, либо исключить, что приводит к смещению вниз. Техническим термином для этого наименьшего среза является ulp .)

В случай 0,2, числа все одинаковы, просто увеличиваются в 2 раза. Опять же, мы одобряем значение, которое немного выше 0,2.

Обратите внимание, что в обоих случаях приближения для 0,1 и 0.2 имеют небольшое смещение вверх. Если мы добавим достаточно этих предубеждений, они будут толкать число дальше и дальше от того, что мы хотим, а на самом деле, в случае 0,1 + 0,2, смещение достаточно велико, чтобы получившееся число больше не было самым близким числом до 0,3.

в частности, 0,1 + 0,2 действительно 0.1000000000000000055511151231257827021181583404541015625 + 0.200000000000000011102230246251565404236316680908203125 = 0.3000000000000000444089209850062616169452667236328125, тогда как число ближе к 0,3 фактически 0,299999999999999988897769753748434595763683319091796875.

П.С. Некоторые языки программирования также предоставляют резаки для пиццы, которые могут разделять фрагменты на точные десятки . Хотя такие резаки для пиццы необычны, если у вас есть доступ к одному, вы должны использовать его, когда важно получить ровно одну десятую или одну пятую части среза.

( Первоначально опубликовано на Quora.)

ч>

28
задан Shoe 29 February 2016 в 06:32
поделиться

3 ответа

Как отмечали другие, скорее всего у вас нет .html, настроенного для обработки PHP-кода.

Сказав это, если все, что вы делаете, использует index.html для включения index.php, ваш вопрос, вероятно, должен быть следующим: «Как использовать index.php как индексный документ?

В этом случае для Apache (httpd.conf) найдите DirectoryIndex и замените строку на это (будет работать только в том случае, если вы включили dir_module, но это по умолчанию для большинства установок):

DirectoryIndex index.php

Если вы используете другие индексы каталогов, перечислите их в порядке предпочтения, то есть

DirectoryIndex index.php index.phtml index.html index.htm
52
ответ дан Glitch Desire 26 August 2018 в 09:33
поделиться

На сегодняшний день (2015, 1 августа), Apache2 в Debian Jessie, вам нужно отредактировать:

root@host:/etc/apache2/mods-enabled$ vi dir.conf 

И изменить порядок этой строки, приведя index.php к первой позиции:

DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
9
ответ дан Dr Beco 26 August 2018 в 09:33
поделиться

PHP будет работать только с расширением файла .php.

Если вы находитесь в Apache, вы также можете установить в своем httpd.conf файле расширения для PHP. Вам нужно найти строку:

AddType application/x-httpd-php .php .html
                                     ^^^^^

и добавить количество расширений, которые должны быть прочитаны с помощью интерпретатора PHP, как вы хотите.

7
ответ дан Shoe 26 August 2018 в 09:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: