ホームページ > バックエンド開発 > PHPチュートリアル > Linux で開発された PHP 拡張機能のインストール

Linux で開発された PHP 拡張機能のインストール

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-07-29 09:15:10
オリジナル
1005 人が閲覧しました

はじめに

maimai の友人の言葉を聞いて、プログラミングを長くやればやるほど基礎知識の重要性を実感するようになりました。越えられない山 紆余曲折はあるけど、必ず出会いがある山、困難を乗り越えてこそ、私たちは進むことができる。
が付いています。 プログラミングに時間がかかるほど、上達するために基礎となる層をより多く学習する必要があるという点に私は強く同意します。そのため、次の目標は、PHP ソース コードを体系的に学習することです。たまたま、私は社会人教育入試の C を勉強していて、その先生は NB の学者でした。 Cを読んだと主張する本の山は机よりも高い。

準備

インターネットで調べたところ、PHP 拡張機能の開発に関する完全な情報はあまりなく、確立されたフォーラムも存在しません。この地域ではあまり需要がないようです。
まず、php のソースコードをダウンロードする必要があります。git/svn または公式 Web サイトからダウンロードできます。インターネット上では、git 内の一部のソースコードには phpize ツールが含まれていないと言われているため、公式 Web サイトからダウンロードしました。 (試したことはありませんが) phpize は PHP 拡張機能 Modular を拡張するために使用されます。

開始

ダウンロードしたphpソースコードを入力します
PHP ソース コードの ext ディレクトリに ext_skel ファイルがあります。これを使用して、PHP 拡張フレームワークを簡単に構築できます。myext 拡張機能を作成しましょう

ext ディレクトリに入ります cd ext/

./ext_skel –extname=myext
ディレクトリ myext を作成しています
基本ファイルの作成: config.m4 config.w32 .gitignore myext.c php_myext.h CREDITS EXPERIMENTAL testing/001.phpt myext.php [done].

新しい拡張機能を使用するには、次の手順を実行する必要があります:

  1. $ cd ..
  2. $ vi ext/myext/config.m4
  3. $ ./buildconf
  4. $ ./configure –[with|enable]-myext
  5. $ make
  6. $ ./sapi/cli/ php -f ext/myext/myext.php
  7. $ vi ext/myext/myext.c
  8. $ make

ext/myext/config.m4 と
に満足するまで手順 3 ~ 6 を繰り返します。 ステップ 6 では、モジュールが PHP にコンパイルされたことを確認します。次に、書き込みを開始します
コードを作成し、最後の 2 つの手順を必要に応じて繰り返します。`

この時点で、ディレクトリに myext ディレクトリが存在するはずです。これは、ext_skel によって生成された拡張フレームワークです。
次に、config.m4 を変更する必要があります
次のコードの前にある dnl を削除します:

<code>dnl PHP_ARG_ENABLE(myext, whether <span>to</span> enable myext support,
dnl [  <span>--enable-myext           Enable myext support])</span></code>
ログイン後にコピー

保存して終了します。
コンパイルを開始
myext ディレクトリ内。次のコードを実行します:

<code>phpize
<span>.</span>/configure <span>--</span><span>with</span><span>-php</span><span>-config</span><span>=</span>/usr/<span>local</span>/php/bin/php<span>-config</span>
make
make test
make install</code>
ログイン後にコピー

make install 後、拡張機能ディレクトリ /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/ をインストールするように求められます。 myext.soを参照

次に、php.iniに拡張情報を追加します
拡張子 = myext.so
php -m コマンドを使用して、拡張機能が正常にインストールされたかどうかを確認します。
fpmを再起動すると、インストールされた拡張機能がphpinfoで確認できます

Linux で開発された PHP 拡張機能のインストール

ここで拡張機能のインストールは完了です。
テストを作成すると、php.ini で一部の機能が無効になっていることが警告されます。 php.ini の disable_function を見つけて、警告関数を削除します。
さらに、GNU の AUTOCONF と AUTOMAKE によって生成されるプログラムの Linux へのインストール手順を説明します

config/configure/Configure
これは、インストール プラットフォームのターゲット特性を検出するために使用されます。たとえば、CC または GCC があるかどうかを検出します。これは CC または GCC を必要としません
。 このステップは通常、コンパイルの次のステップの準備として Makefile を生成するために使用されます。configure の後に次のようなパラメーターを追加することでインストールを制御できます。 ./configure –prefix=/usr
上記は /usr にソフトウェアをインストールすることを意味します
実行可能ファイルは (デフォルトの /usr/local/bin ではなく) /usr/bin にインストールされます
リソース ファイルは (デフォルトの /usr/local/share ではなく) /usr/share にインストールされます
同時に、-sys-c を指定することで一部のソフトウェアの設定ファイルを指定できます
コンパイルを制御するための –with、-enable、-without、-disable などのパラメーターもあります。 ./configure –help を通じて詳細な手順とヘルプを表示できます。
を作る このステップはコンパイルに使用され、Makefile から命令を読み取り、コンパイルします
このステップはコンパイルです。ほとんどのソース コード パッケージはこのステップを通じてコン​​パイルされます
もちろん、perl または Python で書かれた一部のソフトウェアは、コンパイルするために Perl または Python を呼び出す必要があります
make プロセス中にエラーが発生した場合は、エラー コード (最後の行だけではないことに注意してください) を書き留める必要があり、開発者 (通常は INSTALL に送信アドレスがあります) またはシステムにバグレポートを送信できます。依存関係が少ないなど、エラーコードを注意深く調べる必要があります
テストを行う/チェックを行う
名前が示すように、このステップは make の前のステップをチェックするためのものです。つまり、このステップのテストとチェックがすべて OK であり、エラーが 0 であることを確認する必要があります。 sudo make install
このステップはインストール用であり、Makefile から指示を読み取り、指定された場所にインストールします
このコマンドをインストールするには、通常、root 権限が必要です (システムにファイルを書き込む必要があるため)。したがって、sudo

AUTOMAKE と AUTOCONF は、C プログラムを公開するのに非常に役立ちます。プログラムも作成し、AUTOMAKE と AUTOCONF を使用したい場合は、CNGNU.ORG の関連記事を参照してください

上記では、Linux で開発された PHP 拡張機能のインストールについて、内容の側面も含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。

関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート