PHP 拡張機能 (SO コンポーネント) を迅速に開発するためのチュートリアル
PHP 拡張機能 (SO コンポーネント) を迅速に開発するチュートリアル
この記事では、PHP 5.2 環境の拡張機能 (PHP Extension) の作成方法を非常に簡単に説明します。すぐに学習したい友人に、その作成プロセスを画像とテキストの形式で理解していただけると幸いです。
要件: たとえば、lanhaicode という拡張機能を開発します。拡張機能には lanhai_test() という関数があり、文字列を入力すると、関数は次のように返します。
要件: C/C++ プログラミングを理解し、PHP プログラミングに精通している
環境: 対応するバージョンの php のソース コードのコピーをダウンロードします。ここでは php-5.2.17 を使用します。まず、php を通常どおりインストールします。 php は /usr /local/php ディレクトリにインストールされ、ソースコードは /root/soft/php/php-5.2.17/ にあります。今すぐ始めてください。
php-5.2.17 ダウンロード アドレス:
http://blog.lrenwang.com/down/soft/php-5.2.17.tar.bz2
解凍: tar -vxjf php-5.. ....tar.bz2
ステップ 1: 拡張フレームワークの生成
cd /root/soft/php/php-5.2.17/ext ./ext_skel --extname=lanhaicode cd /root/soft/php/php-5.2.17/ext/lanhaicode vi config.m4
ファイルを開いた後、DNL を削除して次の情報を取得します:
PHP_ARG_ENABLE(lanhaicode, whether to enable lanhaicode support, [ --enable-lanhaicode Enable lanhaicode support])
保存して終了します。
ステップ 2: コードを作成します
vi php_lanhaicode.h
検索: PHP_FUNCTION(confirm_lanhaicode_compiled); 新しい行を追加します:
PHP_FUNCTION(lanhai_test);
保存して終了します。
vi lanhaicode.c
関数を配列に追加し、zend_function_entry lanhaicode_functions[] を見つけて、
PHP_FE(lanhaicode, NULL)
を追加し、次のコードを末尾に追加します。 lanhaicode.c ファイル:
PHP_FUNCTION(lanhai_test) { char *arg = NULL; int arg_len, len; char *strg; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &arg, &arg_len) == FAILURE) { return; } len = spprintf(&strg, 0, "Your input string: %s\n", arg); RETURN_STRINGL(strg, len, 0); }
保存して終了します。
ステップ 3:
cd /root/soft/php/php-5.2.17/ext/lanhaicode /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config make make test make install
をコンパイルしてインストールします。/構成プロセス中に次のエラーが発生しました:
gcc を確認しています...いいえ
cc をチェックしています... いいえ
cc をチェックしています... いいえ
cl をチェックしています... いいえ
configure: エラー: $PATH に許容可能な C コンパイラが見つかりません
「config」を参照してください。
解決策: GCC ソフトウェア スイートをインストールし、次のコマンドを実行します:
yum install -y gcc
次に、/usr/local があるかどうかを確認します。 / php/lib/php/extensions/no-debug-non-zts-20060613/lanhaicode.so
php.ini を編集して拡張機能を追加します:
vi /usr/local/php/lib/php.ini
[PHP] モジュールの下に追加します:
extension = lanhaicode.so
保存して終了します。
注: 拡張ファイル ディレクトリがない場合、またはインストール エラーが発生した場合は、このディレクトリを自分で作成し、そのディレクトリに拡張機能をコピーして、php.ini の extension_dir を忘れずに変更してください。ファイルをこのディレクトリに追加します:
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
ステップ 4: インストール結果を確認します
モジュールを見てください。ロードされていますか:
/usr/local/php/bin/php -m、出力されるはずです:
[PHP Modules]
...
lanhaicode
...
[Zend Modules]
次に、Apache を再起動し、phpinfo() を出力すると、次のことが確認できるはずです:
lanhaicode
lanhaicode サポートが有効になりました
関数が存在するかどうかを確認し、呼び出して Web ディレクトリに作成します: lanhaicode.php
<?php echo "<pre class="brush:php;toolbar:false">"; print_r(get_loaded_extensions()); print_r(get_extension_funcs('lanhaicode')); echo lanhai_test('My first php extension'); echo ""; ?>

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
