Который является вопросом, мой партнер сказал, что мне не будет нужен ответ, так для подтверждения моей точки зрения, я удалил php и моделировал проблему с сервером. И эй престо, веб-сервер подает источник PHP как загрузку.
Так, вопрос, там способ остановить источник, подаваемый в случае незначительного сбоя сервера, ошибки или временной потери соединения с соответствующими модулями и т.д.?
Единственный способ раскрыть источник - это изменить конфигурацию сервера по ошибке - например, вы используете mod_php для Apache и случайно удалили модуль.
В этом конкретном случае вы можете сделать это:
<IfModule php5_module>
AddHandler php5-script .php
PHPIniDir "/etc"
</IfModule>
<IfModule !php5_module>
<FilesMatch "\.php$">
Order allow,deny
Deny from all
Satisfy All
</FilesMatch>
</IfModule>
Поместите файлы PHP вне корня документа, а затем требуйте их из файлов PHP внутри корня документа. Они все равно получат немного кода вроде этого или чего-то подобного, но это не даст им очень много деталей:
require(dirname(dirname(__FILE__))."/real_file.php");
Я написал несколько простых функций для синтаксического анализа URL-адресов в стиле MVC (на основе kissmvc.com), и это единственный php в моем корне документа:
<?php
require '../bootstrap.php';
parse_request();
Итак, если что-то произойдет, это все, что увидят все. Все остальное обрабатывается, начиная с начальной загрузки. Если бы я хотел, я мог бы также переместить parse_request () в bootstrap.php, но я сделал это таким образом, чтобы я мог включить свой загрузочный файл и не отправлять все материалы веб-сайта, если бы я только нажимал скрипт cron (а это было прежде, чем я понял о функции и константе php_sapi_name ()).
Это бесполезно, если у вас есть существующий сайт с php в корневом каталоге, или вы используете Wordpress и т. Д., Но если у вас есть возможность, это предотвратит появление этой конкретной проблемы.