1 つの Apache 仮想ホストで PHP メール機能を無効にする方法は?

1 つの Apache 仮想ホストで PHP メール機能を無効にする方法は?

Apache2 仮想ホスト設定ファイル経由で PHP 関数メールを無効にしたい。すべての仮想ホストではなく 1 つの仮想ホストに対して実行したい。また、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てコメントアウトすることができます。
    ただし、これはプリコンパイルされたソリューションでは機能しません。

関連情報