PHP が Windows でしか動作しない理由はありますか?
ドキュメントに「ウィンドウのみ」と表示され続けていますが、これを他の何かと混同している可能性があります。
Windowsでのみ機能する場合、なぜですか? そうでない場合、すべてのドキュメントで「Windows のみ」と頻繁に言及されているのはなぜですか?..
PHP が Windows でしか動作しない理由はありますか?
ドキュメントに「ウィンドウのみ」と表示され続けていますが、これを他の何かと混同している可能性があります。
Windowsでのみ機能する場合、なぜですか? そうでない場合、すべてのドキュメントで「Windows のみ」と頻繁に言及されているのはなぜですか?..
いいえ、PHP が Windows でしか動作しない理由はありません。クロスプラットフォームです。ドキュメントは「Windowsのみ」に言及していますが、それは一般的にWindowsでのみ機能する機能を指しています(エンジン/インタープリター全体を指しているわけではありません)。
他の OS にはない特定の機能が必要なため、Windows または *nix でのみ機能する特定の機能/拡張機能があります。PHP は全体としてどちらの OS でも動作しますが、いずれかの OS で動作するのは一部の機能だけです。
PHP のmail()
機能は、Windows と Linux の両方で動作します。「Windows のみ」のメモが多く表示される理由は、 の一部の機能mail()
がサポートされていないか、Windows ではサポートが異なるためです。
mail()
の「適切な」機能は Linux システムで完全にサポートされていますが、Windows は内部で Linux とは異なる処理を行っているため、利用可能な機能が変わります。たとえば、マニュアル ページの特定の注記には、次のように記載されています。
mail() の Windows 実装は、Unix 実装とは多くの点で異なります。まず、メッセージの作成にローカル バイナリを使用せず、直接ソケットでのみ動作します。つまり、MTA がネットワーク ソケット (localhost またはリモート マシンのいずれか) をリッスンする必要があります。
表示されているのは、Windows マシンへの PHP のインストールにのみ関連する情報です。
例えば -
注意 (Windows のみ)
PHP が SMTP サーバーと直接通信しているときに、行頭にピリオドが見つかった場合、それは削除されます。これに対抗するには、これらの出現箇所を二重ドットに置き換えます。<?php $text = str_replace("\n.", "\n..", $text); ?>
この警告メッセージは、Windows マシンにのみ関連します。これは、*nix プラットフォームと Windows プラットフォームで異なる改行文字を扱います。
この機能の実際の使用はmail()
、プラットフォームが電子メールを送信できる限り、使用するプラットフォームに依存しません。