2011-07-16 4 views
2

背景: こんにちは、私はWAMPサーバーパッケージの一部としてWindows 7マシンでPHP 5.3を使用しています。新しく登録されたユーザーに確認メールを送信するためにPHPコードを取得しようとしていましたが、私はmail()関数という問題に遭遇しました。ご存知のとおり、mail() - 関数は基本的なもので、SMTP認証は使用しません。私はWebアプリケーションを開発している最中にこのプラットフォームだけを使用しているので、最終的にどこで実行されるのかわからないので、おそらくSMTP認証を使用する必要があります。PHP:PEARは本当にインストールされていますか、それとも単純にPHPコードのライブラリをダウンロードして展開していますか?

問題: いくつかのGoogle検索の後、唯一広く使われている方法はPEARのMailパッケージだと思われます。今、私が愚かなのか、それとも本当に言語の壁(英語は私の母国語ではない)と関係があるのか​​はわかりませんが、PEARのウェブサイトにいて、それが何であるのかを読んだ後でも、それを完全に理解していない。 このPEAR Package Managerは、あなたが望むPEARパッケージを "インストール"しますか?どのように正確にそれを行うのですか?後で私の.phpファイルに含めるために、単にいくつかのフォルダにPHPコードを抽出していますか?私が知っておくべきであるデフォルトのPHPもの(関数のようなもの)を変更しますか? 私のコードに決してPEARライブラリを含めないと、PEARのようなコードは決して "インストールされていない"でしょうか?もしそうでなければ、(PEARがインストールされているので、デフォルトのPHP関数の実行に時間がかかりますが)注意すべき重要なパフォーマンス上の問題はありますか?何らかの注射(SQLインジェクションなど)の脆弱性はどうですか?

+2

参考までに、* install *という単語は必ずしも物事を正しい場所に置く以上のものではありません。 – Orbling

+0

@Orbling私は知っていますが、それは他の何かを意味するかもしれない - それが私が求めている理由です。 – Muuse

答えて

2

PEARは、PHPコードをダウンロードし、includeパスのディレクトリに展開するだけです。

PECLは、実行可能な拡張機能をダウンロード、コンパイル、および配信します。

サイドノートでは、おそらくPEARメールを使用したくない場合は、SwiftMailerが最高のATMと見なされます。

+0

ありがとうございます。それは本当に役に立ちました。 – Muuse

+0

少し拡張する:PEARインストーラは、インストールされたコードが必要とする追加のライブラリをインストールする際にも注意を払う(または少なくとも試行する)。 – Mchl

3

PEARは数多くのことですが、あなたの質問の文脈では、あなたはPEARパッケージインストーラ(PEARパッケージマネージャと呼んでいます)とPEARパッケージ(ライブラリ)の両方について質問しているようです。インストーラは、指定されたチャネルから圧縮されたパッケージをダウンロードし(デフォルトではpear.php.netチャネルからインストールされます)、通常はインクルードパスで参照されるディレクトリに展開します。それが行われるときには、相互依存関係も考慮されます。多数の依存関係を持つ大規模なパッケージや複雑なパッケージの場合は、手動でパッケージをダウンロードして解凍するのではなく、パッケージを使用するのが理にかなっています。

これは何も変更しないので、PEARから何も含まれていなければ、何の影響もありません。特定の種類の脆弱性を防ぐために使用できるパッケージがあります。 MDB2は、たとえばSQLインジェクションから保護するために使用できます。メールパッケージは、送信された電子メールが無効なアドレスに送信されないことを確認するので、別の種類の安全ガードを考慮する可能性があります。指定された電話番号が指定された国で有効であるなど、入力データの確認に使用できる電話番号はvalidation packagesです。

もちろん、これらの問題が見つかった場合は、バグレポートや機能要求を提出することを歓迎します。

関連する問題