検索
ホームページバックエンド開発PHPチュートリアルソースからPHP拡張機能をインストールする方法

ソースからPHP拡張機能をインストールする方法

PHPをインストールする前に必要なPHP拡張機能を知るのが難しい場合があります。後で拡張機能を追加する必要がある場合は、運が良ければ、拡張機能が使用しているOSのリポジトリにある可能性があります。それは単純なsudo apt-getインストールphp5-intlであるかもしれません。ただし、ソースからインストールする必要がある場合があります。Phalconはそのような場合の1つですが、ベンダーのサポート、ショートカット、事前に書かれた指示を実行するための手順を非常に簡単にします。ただし、他の拡張機能にそのようなことがない場合はどうなりますか? このチュートリアルでは、Linuxシステムにいくつかのカスタム拡張機能をインストールします(およびOS X - プロセスはほぼ同じです)。この手順は、私たちが既にNitrous.ioで行ったことと非常に似ていますが、ローカル環境、より具体的にはLaravel Homesteadに適応しています。このチュートリアルからインストール手順を簡単に導き出し、他のディストリビューションに適用できます。

キーテイクアウト

ソースからのPHP拡張機能のインストールには、PHP開発ツールとマシンにインストールされているコンパイラ、PHPソースコードと拡張機能のソースコードが必要です。

ソースからPHP拡張機能をインストールするプロセスには、いくつかの手順が含まれます。ソースコードのダウンロード、拡張機能のフォルダーのPHPIZEでのコンパイルの準備、コンパイル用の環境の構成、ソースのコンパイルファイル、このファイルの移動現在のPHPインストールの拡張機能フォルダー

インストール後、PHP拡張機能をPHP.iniファイルに追加するか、PHP.iniが読み込まれた後に自動インクルードされるフォルダーの各拡張機能の個別のINIファイルを作成することにより、有効にする必要があります。
  • vmの起動
  • まだ持っていない場合は、上記のリンクされているホームステッドの投稿を読んで、それを起動して実行してください。新しいホームステッドボックスを実行した直後に、これができるはずです:
  • これはまったく問題ありません。これは、デフォルトで取り付けられているフォルダーに実際にはまだファイルが含まれていないために起こります。次に、VAGRANT SSHにVMに入り、次のコマンドを実行します。

    これにより、ホームステッドがデフォルトで設定されるパスに有効なPHP情報ファイルが作成されます。 URLを更新すると、phpinfo画面が作成されるようになりました

    環境の準備ソースからPHP拡張機能をインストールする方法

    ソースから拡張機能を構築するには、マシンにインストールされているPHP開発ツールと、拡張ファイルを生成できるコンパイラが必要です。さまざまなオペレーティングシステムにこれらの前提条件をインストールする方法は次のとおりです。

    ubuntu

    <span>cd Code
    </span><span>git clone https://github.com/Swader/publicinfo</span>

    fedora

    <span>sudo apt-get install php5-dev php5-mysql gcc libpcre3-dev</span>

    rhel

    <span>sudo yum install php-devel php-mysqlnd gcc libtool</span>

    suse

    <span>sudo yum install php-devel php-mysql gcc libtool</span>

    最新のホームステッドを使用している場合、これらのすべてのツールはすでにインストールされています。すべてを準備したら、拡張機能のインストールを開始しましょう。

    拡張機能のインストール

    インストールできる拡張機能には2つのタイプがあります。PHPでバンドルされているが、デフォルトではインストールされていない、サードパーティの拡張機能。 Phalconのようなサードパーティの拡張機能は、通常、ショートカットを提供することでインストールプロセスをはるかに簡単にします。特定の伝統に準拠する必要がないため、PHP拡張機能がバンドルされる必要がありません。

    最初に、VM:Cd〜のホームフォルダーに移動しましょう。そこに、ダウンロードフォルダーを作成し、CDを作成します。バンドルされた拡張機能をインストールするときは、マシンにPHPのソースコードが必要になります。ホームステッドが使用するバージョンは5.5.12なので、それをダウンロードします:

    <span>yast2 -i php5-pear php5-devel php5-mysql gcc</span>
    上記のベルギーの鏡を使用しています。ダウンロードアーカイブからそれを自由に使用してください。

    すべてのバンドルされた拡張機能のソースを表示するには、編成されていないPHPソースコードフォルダー内のEXTフォルダーに移動し、LSでリストを作成します。

    バンドルされた拡張機能のインストールソースからPHP拡張機能をインストールする方法

    最初に、PHP-INTL拡張機能がまだインストールされていない場合は、PHP-INTL拡張機能をインストールします。そうであれば、それは問題ありません。以下に表示されるインストール手順は、バンドルされたPHP拡張機能ごとに同じです。 INTL拡張機能は国際化のためです - 興味のある方はこちらをご覧ください。

    INTL拡張機能がICUライブラリを前提条件として(要件に記載されているように)必要とするのを見ると、最初にインストールしましょう。

    他の分布の下では、インストール手順が異なる場合があります。このステップについては、ICUサイトまたは個々の配布のドキュメントを参照する場合が最適です。

    ICUがインストールされたら、extフォルダーにまだ次のことを行います。

    <span>wget http://be2.php.net/distributions/php-5.5.12.tar.bz2
    </span><span>tar xvjf php-5.5.12.tar.bz2
    </span><span>cd php-5.5.12</span>
    何が起こっているのかを説明しましょう。

    • phpizeは、拡張機能のフォルダーを準備します。 Configureファイルを作成し、基本的に拡張機能のフォルダーをPHP自体を「Think」にすることにより、後続のコマンドを実行できます。実際、PHPIZEの後の手順は、ソースからPHPをインストールするときに行うことと同じです。この場合にのみ、PHPのフラグメントだけが編集され、既にコンパイルおよびインストールされているPHPで使用する準備ができています。
    • ./ Configure- ENABLE-INTLコンパイル用の環境を構成します。コンパイラが使用するintl.soファイルを作成するために必要なすべてを準備します。フォルダーは効果的に
    • と考えているため、INTLフォルダーにいるにもかかわらず、INABLE-INTLフラグが必要です。このコマンドは、「OK、PHPのソースコードです。実際には、このフォルダーからをインストールできる唯一の部分です。 Sudo Makeインストールは、このファイルを現在のPHPインストールの拡張機能フォルダーに移動します。
    • 私たちが今行う必要があるのは、php.iniにそれを消費させることで拡張機能を有効にすることだけです。後でそれを行います。最初にサードパーティの拡張機能をコンパイルしましょう。 サードパーティの拡張機能のインストール
    • サードパーティの拡張機能としてMongoをインストールします。 Mongoが利用できるバイナリ分布があり、インストールをより簡単にしますが、教育のために手動でそれを行いましょう。実際のMongoがすでにインストールされているため、PHP拡張のみに焦点を当てていると仮定します。 Mongoがインストールされていない場合は、インストールドキュメントを参照してください。

    これにより、Mongo.soファイルが構築され、PHPインストールの拡張機能フォルダーに配置されました。次のセクションで有効にします。

    有効化とテスト

    <span>cd Code
    </span><span>git clone https://github.com/Swader/publicinfo</span>
    コンパイルされた.soファイルが実際にPHP拡張機能フォルダーにあるかどうかを確認するには、その内容をリストします。

    ソースからPHP拡張機能をインストールする方法

    あなたが見ることができるように、彼らはそこに、明るい緑で強調されています。

    それらを有効にするには、それらについてphp.iniに伝える必要があります。これを行うには、いくつかの方法があります:

      indext = mongo.soとendix = intl.soを直接php.iniに配置できます。これは機能し、ほとんどの場合、完全に有効なアプローチです。
    1. これらのそれぞれに対して個別のINIファイルを作成し、php.iniがロードされた後に自動インクルードされるフォルダーに入れ、php.iniの分離と分離をそのように維持できます。このアプローチはより健康的ですが、達成するのは困難です
    2. 2)とPHP MODを有効にするためのデフォルトのツールを組み合わせることができます。 Homesteadはこのアプローチを使用します
    3. このフォルダーは、そのようなすべての個別のINIファイルのリポジトリです。ここで2つの新しいファイルを作成します:
    <span>cd Code
    </span><span>git clone https://github.com/Swader/publicinfo</span>
    これらのコマンドは、以前に構築した拡張機能の1つに対して、2つの新しいINIファイルを作成しました。現在、MODS利用可能なフォルダーにあるため、すでに利用可能なPHP5ENMOD(PHP Enable MODの略)コマンドラインツールを使用できます。

    注:PHP5ENMODツールがない場合、INIファイルをさまざまなPHPランタイムのconf.dフォルダーにシンプルすると、トリックが行われます。
    <span>sudo apt-get install php5-dev php5-mysql gcc libpcre3-dev</span>

    4つのエントリがある理由は、PHPのコマンドラインバージョンとPHPのFPMバージョンがあることです。それぞれが独自のphp.iniファイルを使用し、それぞれが拡張機能に独自のconf.dフォルダーをロードします。したがって、拡張機能を全面的に使用できる場合は、両方のPHPバージョンに両方の拡張機能を追加する必要があります。このアプローチを使用して、PHP5ENMODツールがない場合にのみ使用してください。

    最後に、これらの変更をロードするためにnginxとphp-fpmを再起動しましょう。
    <span>sudo yum install php-devel php-mysqlnd gcc libtool</span>

    インストールしているかどうかを確認するには、以前からPHPINFO画面を更新して、それぞれMongoとINTLを検索します。
    <span>sudo yum install php-devel php-mysql gcc libtool</span>

    成功!

    <span>yast2 -i php5-pear php5-devel php5-mysql gcc</span>
    拡張機能の削除

    拡張機能を削除するには、スペースが本当に少ない場合を除き、実際のファイルを削除する必要はありません。

    ソースからPHP拡張機能をインストールする方法

    ツールを使用できる場合はphp5dismodを実行します。上記のPHP5ENMODツールの反対です。 .SOファイルは継続され、INIファイルはMODS利用可能なままになります。SymlinksがFPMおよびCLI conf.dフォルダーから削除されるため、ロードされません。

    シンリンクを手動で削除します。例えば。 sudo rm/etc/php5/cli/conf.d/mongo.ini

    拡張機能をPHP.iniファイルに直接配置して有効にした場合、PHP.iniファイルからそれらの行を削除するか、さらに良いことに、心を変えた場合にさらに使用するためにアクセスできるようにコメントします。

    結論

    ご覧のとおり、正確な命令がなくても、拡張機能がOSの公式リポジトリによってサポートされていなくても、ソースから拡張機能をインストールすることは非常に簡単です。次回、 *nixシステムにPHPインストールに拡張機能を追加する必要がある場合(このチュートリアルはOS Xにも適用されます)、この投稿を参照してください。

    フィードバックを以下に残してください。特定の拡張機能に混乱していて、インストールをお勧めします。 ソースからのPHP拡張機能のインストールに関するよくある質問(FAQ)

    ソースからPHP拡張機能をインストールするための前提条件は何ですか?

    ソースからPHP拡張機能のインストールを開始する前に、いくつかのものを配置する必要があります。まず、システムにPHPをインストールする必要があります。また、コンパイラや作成などのツールを含むPHP開発環境を設定する必要があります。さらに、このコードから直接拡張機能を構築するため、PHPソースコードを利用できるようにする必要があります。最後に、拡張機能のソースコードが必要です。これは通常、拡張機能の公式WebサイトまたはPECLのようなリポジトリからダウンロードできます。 phpinfo()関数を使用して、そのインストール。この関数は、インストールされている拡張機能のリストを含む、PHPのインストールに関する多くの情報を提供します。それを使用するには、Webサーバーのドキュメントルートに新しいPHPファイルを作成し、phpinfo()への呼び出しを追加し、このファイルをWebブラウザーで表示します。インストールされているエクステンションは、「PHPコア」セクションにリストされています。

    WindowsシステムにPHP拡張機能をインストールできますか?ただし、このプロセスは、UNIXのようなシステムと比較してわずかに異なります。ソースから拡張機能をコンパイルする代わりに、通常、事前縮小されたDLLファイルをダウンロードし、PHPインストールに追加します。 PHP.NET Webサイトは、これを行う方法に関する詳細な指示を提供します。

    インストールプロセス中にエラーが発生した場合はどうすればよいですか?

    ​​複数のPHP拡張機能を一度にインストールできますか?これは、Configureコマンドで複数の拡張機能を指定することで実行できます。ただし、各拡張機能には独自の依存関係と構成オプションがある場合があることに留意してください。 PHP拡張子をアンインストールするにはどうすればよいですか?

    PHP拡張機能のアンインストールには、拡張機能の構成をPHP.iniファイルから削除してからWebサーバーを再起動することが含まれます。拡張機能が共有モジュールとしてインストールされた場合、モジュールの.soまたは.dllファイルを削除する必要がある場合があります。ソースコードとして配布されるPHP拡張機能。これらの拡張機能は、拡張機能のダウンロード、コンパイル、インストールのプロセスを自動化するPECLコマンドを使用してインストールできます。ルートアクセスなしのPHP拡張機能。これは、ホームディレクトリにPHPをインストールし、そこに拡張機能をインストールすることで実行できます。ただし、このアプローチにはより多くの技術的知識が必要であり、すべてのユーザーに適していない場合があります。

    一般的なPHP拡張機能は何ですか? PHP言語への追加の機能。いくつかの一般的な拡張機能には、MySQLデータベースと対話するためのMySQLI、画像ファイルを作成および操作するためのGD、およびHTTPリクエストを作成するためのCurlが含まれます。

    以上がソースからPHP拡張機能をインストールする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    PHP:サーバー側のスクリプト言語の紹介PHP:サーバー側のスクリプト言語の紹介Apr 16, 2025 am 12:18 AM

    PHPは、動的なWeb開発およびサーバー側のアプリケーションに使用されるサーバー側のスクリプト言語です。 1.PHPは、編集を必要とせず、迅速な発展に適した解釈言語です。 2。PHPコードはHTMLに組み込まれているため、Webページの開発が簡単になりました。 3。PHPプロセスサーバー側のロジック、HTML出力を生成し、ユーザーの相互作用とデータ処理をサポートします。 4。PHPは、データベースと対話し、プロセスフォームの送信、サーバー側のタスクを実行できます。

    PHPとWeb:その長期的な影響を調査しますPHPとWeb:その長期的な影響を調査しますApr 16, 2025 am 12:17 AM

    PHPは過去数十年にわたってネットワークを形成しており、Web開発において重要な役割を果たし続けます。 1)PHPは1994年に発信され、MySQLとのシームレスな統合により、開発者にとって最初の選択肢となっています。 2)コア関数には、動的なコンテンツの生成とデータベースとの統合が含まれ、ウェブサイトをリアルタイムで更新し、パーソナライズされた方法で表示できるようにします。 3)PHPの幅広いアプリケーションとエコシステムは、長期的な影響を促進していますが、バージョンの更新とセキュリティの課題にも直面しています。 4)PHP7のリリースなど、近年のパフォーマンスの改善により、現代の言語と競合できるようになりました。 5)将来的には、PHPはコンテナ化やマイクロサービスなどの新しい課題に対処する必要がありますが、その柔軟性とアクティブなコミュニティにより適応性があります。

    なぜPHPを使用するのですか?利点と利点が説明されましたなぜPHPを使用するのですか?利点と利点が説明されましたApr 16, 2025 am 12:16 AM

    PHPの中心的な利点には、学習の容易さ、強力なWeb開発サポート、豊富なライブラリとフレームワーク、高性能とスケーラビリティ、クロスプラットフォームの互換性、費用対効果が含まれます。 1)初心者に適した学習と使用が簡単。 2)Webサーバーとの適切な統合および複数のデータベースをサポートします。 3)Laravelなどの強力なフレームワークを持っています。 4)最適化を通じて高性能を達成できます。 5)複数のオペレーティングシステムをサポートします。 6)開発コストを削減するためのオープンソース。

    神話を暴く:PHPは本当に死んだ言語ですか?神話を暴く:PHPは本当に死んだ言語ですか?Apr 16, 2025 am 12:15 AM

    PHPは死んでいません。 1)PHPコミュニティは、パフォーマンスとセキュリティの問題を積極的に解決し、PHP7.xはパフォーマンスを向上させます。 2)PHPは最新のWeb開発に適しており、大規模なWebサイトで広く使用されています。 3)PHPは学習しやすく、サーバーはうまく機能しますが、タイプシステムは静的言語ほど厳格ではありません。 4)PHPは、コンテンツ管理とeコマースの分野で依然として重要であり、エコシステムは進化し続けています。 5)OpcacheとAPCを介してパフォーマンスを最適化し、OOPと設計パターンを使用してコードの品質を向上させます。

    PHP対Pythonの議論:どちらが良いですか?PHP対Pythonの議論:どちらが良いですか?Apr 16, 2025 am 12:03 AM

    PHPとPythonには独自の利点と短所があり、選択はプロジェクトの要件に依存します。 1)PHPは、Web開発に適しており、学習しやすく、豊富なコミュニティリソースですが、構文は十分に近代的ではなく、パフォーマンスとセキュリティに注意を払う必要があります。 2)Pythonは、簡潔な構文と学習が簡単なデータサイエンスと機械学習に適していますが、実行速度とメモリ管理にはボトルネックがあります。

    PHPの目的:動的なWebサイトの構築PHPの目的:動的なWebサイトの構築Apr 15, 2025 am 12:18 AM

    PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。

    PHP:データベースとサーバー側のロジックの処理PHP:データベースとサーバー側のロジックの処理Apr 15, 2025 am 12:15 AM

    PHPはMySQLIおよびPDO拡張機能を使用して、データベース操作とサーバー側のロジック処理で対話し、セッション管理などの関数を介してサーバー側のロジックを処理します。 1)MySQLIまたはPDOを使用してデータベースに接続し、SQLクエリを実行します。 2)セッション管理およびその他の機能を通じて、HTTPリクエストとユーザーステータスを処理します。 3)トランザクションを使用して、データベース操作の原子性を確保します。 4)SQLインジェクションを防ぎ、例外処理とデバッグの閉鎖接続を使用します。 5)インデックスとキャッシュを通じてパフォーマンスを最適化し、読みやすいコードを書き、エラー処理を実行します。

    PHPでのSQL注入をどのように防止しますか? (準備された声明、PDO)PHPでのSQL注入をどのように防止しますか? (準備された声明、PDO)Apr 15, 2025 am 12:15 AM

    PHPで前処理ステートメントとPDOを使用すると、SQL注入攻撃を効果的に防ぐことができます。 1)PDOを使用してデータベースに接続し、エラーモードを設定します。 2)準備方法を使用して前処理ステートメントを作成し、プレースホルダーを使用してデータを渡し、メソッドを実行します。 3)結果のクエリを処理し、コードのセキュリティとパフォーマンスを確保します。

    See all articles

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

    リアルなヌード写真を作成する AI 搭載アプリ

    AI Clothes Remover

    AI Clothes Remover

    写真から衣服を削除するオンライン AI ツール。

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    AI Hentai Generator

    AI Hentai Generator

    AIヘンタイを無料で生成します。

    ホットツール

    SAP NetWeaver Server Adapter for Eclipse

    SAP NetWeaver Server Adapter for Eclipse

    Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統合開発環境

    EditPlus 中国語クラック版

    EditPlus 中国語クラック版

    サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

    MinGW - Minimalist GNU for Windows

    MinGW - Minimalist GNU for Windows

    このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。