AddHandler не работает для файлов .php – Apache 2.4

Я создаю фиктивный обработчик для файлов .php и .html, называемых helloworld . Обработчик содержит следующее:

 static int helloworld_handler(request_rec *r){ ap_rprintf(r, "hello world!"); return OK; } 

Я получил это в apache2.conf:

  AddHandler helloworld .php .html  

Обработчик «helloworld» работает с файлами .html, но не работает для файлов .php. Я думаю, что это главным образом потому, что обработчик php по умолчанию переопределяет обработчик helloworld для .php-файлов. Как заставить обработчик «helloworld» работать с файлами .php?

Если есть дополнительная информация, пожалуйста, спросите.

Возможно, вы захотите попробовать SetHandler

  SetHandler helloworld  

SetHandler удалит любой ранее установленный обработчик. Чтобы получить возможность запуска вашего обработчика, сначала запустите обработчик PHP по умолчанию, когда ваш обработчик вернет DECLINE, вам нужно сначала установить ваш, а затем добавить PHP

  SetHandler helloworld .html   SetHandler helloworld .php AddHandler php5-script .php  

Обратите внимание, что это приводит к очистке любых обработчиков, ранее настроенных для файлов .html

Только один обработчик может обрабатывать любой тип файла для каждого запроса. Если вы всегда хотите, чтобы PHP-интерпретатор запускался первым, а затем ваш обработчик для запуска второй, вы могли бы рассмотреть директиву AddOutputFilter.

Большинство фаз завершаются первым модулем, который их обрабатывает; однако для регистрации, проверки «fixups» и проверки подлинности без доступа все обработчики всегда запускаются (за исключением ошибки).

Ссылка API API Apache

Документы AddOutputFilter

После добавления обработчика вам необходимо перезапустить сервер Apache.

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