Как отключить функцию почты PHP на одном виртуальном хосте Apache?

Как отключить функцию почты PHP на одном виртуальном хосте Apache?

Я хочу отключить функцию PHP mail через файл конфигурации виртуального хоста Apache2. Я хочу сделать это для одного виртуального хоста, а не для всех виртуальных хостов, и я не хочу отключать эту функцию в php.ini

Как это правильно сделать?

Заранее спасибо!

решение1

Я добавил это на свой виртуальный хост:

<Directory /dir/to/your/web/root>
...
        php_admin_value sendmail_path "tee mail.out > /dev/null"
...
    </Directory>

Это сработало!

решение2

Вы не можете отключить системные вызовы PHP для каждого виртуального хоста.

Однако вы можете:

  • Поместите этот виртуальный хост в контейнер и отключите там sendmail (метод начинается с отключения MTA и заканчивается sendmailполным удалением двоичного файла).
    Это метод без каких-либо ограничений.
  • Поскольку PHP является языком-интерпретатором, вы можете найти все mail(вхождения fgrep -Rи закомментировать эти строки.
    Однако, это не работает для предварительно скомпилированных решений

Связанный контент