phpize を使用して php 拡張機能を構築する config.m4 が見つかりません
phpize を使用して php 拡張機能を作成します config.m4.
が見つかりません 元のアドレス: http://lxsym.blog.51cto.com/1364623/293862/
それでは、php 拡張機能の作成方法について話しましょう
まず第一に、適切な php 環境が必要です
私は php を /usr/local/php にインストールし、もちろん php 設定も渡しました
ただし、php.ini のパスに注意してください
この方法でインストールされた php 拡張機能は実装できません
このファイルは、php のインストール後に /usr/local/php/bin ディレクトリにあります
後で phpize します
これはシェル スクリプトです。vi phpize を使用してその内容を表示できます
ただし、このスクリプトはどこでも使用できるわけではないことに注意してください
[[email protected] root]# phpize
config.m4 が見つかりません。
モジュールの最上位ソース ディレクトリで /usr/local/bin/phpize を実行していることを確認してください
[[email protected] root]# phpize
config.m4 が見つかりません。
モジュールの最上位ソース ディレクトリで /usr/local/bin/phpize を実行していることを確認してください
このスクリプトを表示すると、実際にこれら 2 つの結果が表示されます
処理方法を見つけるのは簡単です
モジュールが展開されたら、それを /usr/local/src/php-4.3.5/ext に配置して実行するのが最善です
/usr/local/php/bin/phpize のようにここで実行することもできますし、phpize で実行することもできます
このツールは /usr/local/src/php-4.3.5/ext にあります
フレームワークを構築するにはPHP 拡張機能の場合
[[email protected] ext]#cd /usr/local/src/php-4.3.5/ext/
[[email protected] ext]# ./ ext_skel --extname=sdomain
ディレクトリ sdomain の作成
基本ファイルの作成: config.m4 .cvsignore sdomain.c php_sdomain.h CREDITS EXPERIMENTAL testing/001.phpt sdomain.php [done].
新しい拡張機能を使用するには、以下を行う必要があります。次の手順を実行します。
1. $ cd ..
2. $ vi ext/sdomain/config.m4
3. $ ./buildconf
4. $ ./configure --[with |enable]-sdomain
5. $ make
6. $ ./php -f ext/sdomain/sdomain.php
7. $ vi ext/sdomain/sdomain c
8. $ make
このステップを実行すると、次のような結果が表示されます
ext/sdomain/config.m4 に満足するまでステップ 3 ~ 6 を繰り返し、
ステップ 6 でモジュールが PHP にコンパイルされたことを確認します次に、
コードの作成を開始し、最後の 2 つの手順を必要に応じて繰り返します。
このようにして、今後、このディレクトリに sdomain
というディレクトリが生成されます。
[[email protected] ext]# cd sdomain/
[[email protected] sdomain]# ls
config.m4 実験的 sdomain.php テスト
クレジット sdomain.c php_sdomain.h
次に、ファイルのシーケンスを
configure.m4
sdomain.c
php_sdomain.h
に変更する必要があります。テキスト エディタを使用して config.m4 ファイルを開きます。ファイルの内容は大まかに次のとおりです。
dnl $ Id$d
dnl config.m4 for extension my_module
dnl PHP_EXTENSION(my_module)
dnl を呼び出すことを忘れないでください このファイル内のコメントは、文字列 dnl.
で始まります。 dnl 必要な場合は削除してください。このファイルは編集せずに機能しません
dnl を編集しないと、
dnl 拡張機能が外部のものを参照している場合は、次のように使用します。
dnl PHP_ARG_WITH(my_module, for my_module support,
dnlコメントは整列しています:
dnl [--with-my_module Include my_module support])
dnl それ以外の場合は、enable:
dnl PHP_ARG_ENABLE(my_module, my_module support を有効にするかどうか,
dnlコメントは整列しています:
dnl [ --enable-my_module my_module support を有効にする])
if test $PHP_MY_MODULE != no; then
dnl
の存在など、外部のものをテストしない場合dnl ヘッダー、ライブラリ、またはその中の関数については、
dnl 次の行のコメントを解除するだけで準備完了です。
dnl ここにテストの例をもっと書いてください...
PHP_EXTENSION(my_module, $ext_shared)
Fi
自分の意見に従って
dnl の選択を変更します PHP_ARG_WITH(my_module, for my_module support,
dnl コメントが整列していることを確認してください:
dnl [--with-my_module Include my_module support ])
から
PHP_ARG_WITH(my_module, for my_module support,
[ --with-my_module Include my_module support])
または will
dnl PHP_ARG_ENABLE(my_module, my_module サポートを有効にするかどうか、
dnl コメントが整列していることを確認してください:
dnl [ --enable-my_module Enable my_module support])
が
に変更されました PHP_ARG_ENABLE(my_module, my_module support を有効にするかどうか,
[--Nable-my_module Enable my_module support])
(実際には、この部分の DNL を削除します。このファイルでは、説明も削除されます)
ここでは後者を使用しました
次に、保存して終了します
次に、
Vi my_module.c
ファイル内の次のコードを変更します。
/* ユーザーに表示されるすべての関数には、my_module_functions[] にエントリが必要です。
*/
function_entry my_module_functions[ ] = {
PHP_FE(say_hello, NULL) /* ?コード行を追加します*/
PHP_FE(confirm_my_module_compiled , NULL) /* テストのため、後で削除します */
{NULL, NULL, NULL。 } /* my_module_functions[] の最後の行である必要があります */
};
ファイルの最後に次のコードを追加します Code
PHP_FUNCTION(say_hello)
{
zend_printf("hello sdomain!");
}
再度変更: php_sdomain.h
vi php_sdomain.h
in PHP_FUNCTION(confirm_my_module_compiled ); /* テスト用に、後で削除します。 */ この行の下に行を追加します:
PHP_FUNCTION(say_hello); /* テストのため、後で削除します */
ファイルを保存して終了します
次に、このディレクトリ
で上記のコマンドを使用できます。 php/bin/phpize
実行後、次のような内容が表示されます。
[[email protected] sdomain]# /usr/local/php /bin/phpize
次の設定:
PHP API バージョン: 20020918
Zend Module Api No: 20020429
Zend Extension Api No: 20050606
[[email protected] sdomain]#
次に、 ./configure --with-php-config=/usr/local を実行します。 /php/bin/php-config
次に、make
make install
を実行します。その後、PHP インストール ディレクトリの下の A フォルダーに対応する so ファイルが生成され、そのファイルがどこにあるかを確認するプロンプトが表示され、コピーされます。内部の SO ファイルを、SO ファイルを保存する場所に移動します
つまり、php.ini の extension_dir で指定した場所
最後のステップは、php.ini ファイルでこの拡張機能を開くことです
extension= sdomain.so
次に
apache を再起動します
phpinfo を使用して確認すると問題ありません
この記事は CSDN ブログからのものです。転載する場合は出典を明記してください: http://blog.csdn。 net/sdomain/archive/2009/09/04/4520425.aspx

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPは、特に迅速な開発や動的なコンテンツの処理に適していますが、データサイエンスとエンタープライズレベルのアプリケーションには良くありません。 Pythonと比較して、PHPはWeb開発においてより多くの利点がありますが、データサイエンスの分野ではPythonほど良くありません。 Javaと比較して、PHPはエンタープライズレベルのアプリケーションでより悪化しますが、Web開発により柔軟性があります。 JavaScriptと比較して、PHPはバックエンド開発により簡潔ですが、フロントエンド開発のJavaScriptほど良くありません。

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。
