web-dev-qa-db-ja.com

PHPライブラリのインストールを理解する

システムへのライブラリの「インストール」PHPライブラリ(Linux/OSX))に関連するオプションと用語を理解しようとしています。

これが私がカバーしようとしているいくつかの特定のポイントです:

  1. PHPライブラリに関連する場合、「インストール」とはどういう意味ですか?
  2. ライブラリと拡張機能の違いは何ですか?
  3. Php.iniはどのように適合しますか?
  4. PEARはどのように適合しますか?
  5. ライブラリをどのようにインポート/インクルードしますか?
  6. 独自のライブラリを作成する場合、それをパッケージ化して配布するための最良の方法は何ですか?

ありがとう-そしてマルチパートをお詫びします...

18
Yarin

いくつかのポイント...

PHPには、Python、Java、.netなどのネイティブの「インポート」インフラストラクチャはありません。 PHPでライブラリを使用する方法はいくつかあります。

  1. それらをPHPバイナリにコンパイルします。これは最も高度な方法であり、特別なニーズがない限り、通常は望ましくありません。

  2. それらをPHPモジュールとしてサーバーにインストールし、PHP.iniに含めます。 PHPプログラマーの観点から、これらの拡張機能はPHPの一部です-常に利用可能です。 PHP自体を再構築しなくても、それらを追加および削除する方が簡単です。

  3. サーバーのどこかにPHPコードをインストールし、それをPHPスクリプトにインクルード()します。

  4. ライブラリのコピーをプロジェクトに保存し、それをPHPスクリプトに含めます。

-
基本的なレベルでは、コードはインタープリター(静的または動的)の一部であるか、プロジェクトに含まれている単純な古いPHPコードです。

あなたの目的のために、私はあなたが業界標準のPHPディストリビューションに固執することを提案することができるだけです(良いLinux OSを選び、それがPHPを使用する)。そうすれば、インタプリタレベルで必要となるほとんどすべてのライブラリがアドオンパッケージとして利用可能になり、その複雑さは毎日それを行う人に任されています。

RedHat/Centosでは、次のコマンドを実行できます。

yum install php php-memcached php-Gd php-pecl

-
使用する可能性のある他のすべての種類のライブラリに関しては、すべてを処理する優れたPHPフレームワークを採用するのが最善の方法です。

いくつかの例は次のとおりです。

  1. Zend Framework
  2. CakePHP
  3. Codeigniter
  4. http://www.phpframeworks.com/
  5. 等...

(順序は決まっておらず、頭に浮かんだものだけです)

PHPおよび拡張機能の側面でコンパイルされたものを管理するために、RPMなどを使用する標準的なアプローチを採用している場合、優れた堅固なフレームワークがすべての追加のPHP必要なライブラリコード。

最終的な結果は、製品の提供に集中することであり、そうでなければ学習して発明しなければならないすべてのインフラストラクチャに集中することではありません。

-
php.iniは、PHPの開始時に解析および実行されます(コマンドラインの場合は毎回、サーバーの開始ごとに1回) Apacheで)。それは多くの設定を定義し、多くのモジュールを含み、それらのモジュールを構成します...

PHPのini_set()関数を使用して、php.iniの一部の設定を実際にオーバーライドできます。ただし、これは一部の設定でのみ有効です。スクリプトを開始する前に、その他を設定する必要があります。

Apacheで実行している場合、そのディレクトリ/仮想ホストのPHP.iniを完全にオーバーライドする行を.htaccessおよび<VirtualHost>ディレクティブに追加できます。

(構文を修正し、間違っている場合はこのメモを削除してください)

<VirtualHost *>
    ServerName www.example.com       
    DocumentRoot /home/joe/site/docroot
    php_value include_path "/home/joe/site/php-code"
</VirtualHost>

-
自分のライブラリとそれをパッケージ化するための最良の方法に関する#6の質問に答えて、最初にライブラリの必要性を評価することをお勧めします。そして、あなたが本当に何かに取り組んでいるなら、人々がそれをしている最も一般的な方法を見つけてください。単純なライブラリの場合は、NiceWebサイトを含む.phpファイルで十分です。

-
少しとりとめのないかもしれませんが、これがあなたを正しい方向に向けてくれることを願っています。

13
gahooa

すべてPHPに直接関連しています:

  1. 通常は、コピーして、それを使用したいものがどこにあるかを確認します。
  2. 拡張機能は通常Cで記述され、インタプリタによってロードされますが、ライブラリは通常、ネイティブPHPライブラリを意味します。
  3. わからない、ここで知りたいこと。 iniは拡張機能をロードし、いくつかの設定をセットアップします。インストールに直接関連付けられていない、....ここでインクルードパス(または何か)を設定できます。
  4. あなたはそれでライブラリをインストールすることができます;)あなたが知りたいことも知らない。
  5. 通常はrequire(_once)またはinclude(_once)です。クラスの場合、オートローダーを設定できます。 PHPマニュアルを参照してください。
  6. パッケージ/アーカイブ(Zip、gz、tarball、..)それをダウンロードリンクを作成しますか?また:わからない、あなたが欲しいもの。

PHPライブラリを作成し、パッケージ化と配布の簡単な方法が必要な場合は、PEARをご覧ください。

4
KingCrunch