目次
php 拡張機能、helloworld の実装
セグメンテーション違反」(コアダンプ)
ホームページ バックエンド開発 PHPチュートリアル PHP 拡張機能、helloworld_PHP チュートリアルの実装

PHP 拡張機能、helloworld_PHP チュートリアルの実装

Jul 13, 2016 am 09:56 AM

php 拡張機能、helloworld の実装



php -v
PHP 5.5.9-1ubuntu4.7 (cli) (ビルド: 2015 年 3 月 16 日 20:47:39)
Copyright (c) 1997-2014 PHP グループ
Zend エンジン v2.5.0、著作権 (c) 1998-2014 Zend Technologies
Zend OPcache v7.0.3 を使用、著作権 (c) 1999-2014、Zend Technologies
Xdebug v2.2.3 を使用、著作権 (c) 2002-2013、Derick Rethans 著

構成参考記事: http://blog.csdn.net/niijiaming0819/article/details/8543028
この記事でも、参照記事の手順を使用して、このマシンにプロセスを実装します

ステップ1. phpのソースコードパッケージをダウンロードする 今回はphp5.6.8バージョンを使用します。 ステップ 2. 圧縮パッケージを解凍し、解凍されたパッケージ (mysoft$ cd php-5.6.8/) を入力します。同じ ls コマンドを使用して、ソース パッケージ内のファイル ディレクトリを表示し、ext フォルダー (cd ext) に入ります。


PHP 拡張機能、helloworld_PHP チュートリアルの実装 ステップ 3. 拡張機能開発フレームワークを確立する

./ext_skel --extname=helloworld 上記のコマンドを実行して拡張開発のフレームワークを確立すると、ext フォルダーの下に helloworld という追加フォルダーがあり、いくつかのテキストもコマンド ラインから出力されることがわかります。 拡張機能を生成するための一般的な手順が表示されます。

PHP 拡張機能、helloworld_PHP チュートリアルの実装


PHP 拡張機能、helloworld_PHP チュートリアルの実装


ステップ 4.
PHP ソースコードのルートディレクトリに入り、ファイル vim ext/helloworld/config.m4 を編集します

このファイルの 16 行目から 19 行目までの数行のコメントを削除して、ファイル (:wq) を保存します。

PHP 拡張機能、helloworld_PHP チュートリアルの実装

ステップ 5.

PHP ソースコードのルートディレクトリでコマンド ./buildconf --force

を実行します。

PHP 拡張機能、helloworld_PHP チュートリアルの実装

ステップ 6.

PHP ソース コードのルート ディレクトリで PHP プログラムをコンパイルします。コマンドは ./configure --with-helloworld

であることに注意してください。

最後に発生したエラーは処理されませんでした

PHP 拡張機能、helloworld_PHP チュートリアルの実装

ステップ 7. PHP 拡張機能、helloworld_PHP チュートリアルの実装拡張機能ディレクトリ helloworld に入り、phpize コマンドを実行します (sudo apt-get install php5-dev を通じて phpize をインストールします)。この時点で、拡張機能ディレクトリには、後のコンパイルに使用できる多くのファイルが生成されます。

ステップ 8.PHP 拡張機能、helloworld_PHP チュートリアルの実装 helloworld ディレクトリで拡張機能をコンパイルします。/configure --with-php-config=/usr/bin/php-config (独自の環境の php-config を使用します) --enable-helloworld

図に示すように、コマンド (find / -name php-config) を使用して php-config ファイルの場所を見つけることができます: 私のアドレスは /usr/bin/php-config です

PHP 拡張機能、helloworld_PHP チュートリアルの実装

PHP 拡張機能、helloworld_PHP チュートリアルの実装ステップ 9. 拡張機能 helloworld ディレクトリに入り、ファイル php_helloworld.h を編集し、関数 PHP_FUNCTION(helloworldTest);

を最後の行に追加します。

helloworldTest はお好みの名前に変更し、保存して終了します

PHP 拡張機能、helloworld_PHP チュートリアルの実装ステップ 10. vim を使用して helloword.c を開き、helloworld.c に関数を実装してから、helloworldTest 関数を helloworld_functions[] に追加し、保存して終了します

PHP 拡張機能、helloworld_PHP チュートリアルの実装

PHP 拡張機能、helloworld_PHP チュートリアルの実装

ステップ 11. make コマンド make を実行して拡張機能をコンパイルします。比較的スムーズに実行できました。エラーが発生した場合は、前の手順に誤りがあるかどうかを注意深く確認してください。私も初めて実行したときに、通常、前の手順に問題がありました。

PHP 拡張機能、helloworld_PHP チュートリアルの実装

ステップ12. コンパイルされたhelloworld.soファイルをローカルのphp拡張ディレクトリにコピーします

拡張子ディレクトリは、php -r phpinfo() を介して表示でき、ネイティブ php の拡​​張子パスを表示します

PHP 拡張機能、helloworld_PHP チュートリアルの実装

ステップ 13. helloworld.so 拡張機能を有効にするように php.ini を設定します

php.iniの場所を表示します(php -r phpinfo(); | grep php.ini )

PHP 拡張機能、helloworld_PHP チュートリアルの実装

vim sudo vim /etc/php5/cli/php.ini で php.ini ファイルを開きます

ファイルの最後に拡張子(extension=helloworld.so)を追加します

php -r phpinfo() によってテストされました

PHP 拡張機能、helloworld_PHP チュートリアルの実装

ステップ 14. テスト拡張機能 (php -r echo helloworldTest();)

PHP 拡張機能、helloworld_PHP チュートリアルの実装

このプロセスでは、元の作成者の手順に従ってみましたが、エラーが発生しました

セグメンテーション違反」(コアダンプ)

デバッグ後、元の作成者は helloworld.c ファイルに helloworld_functions[] を追加するときに PHP_FE_END を {null, null, null} に変更しましたが、エラーは発生しませんでしたが、変更後に PHP_FE_END もコメントしました。再コンパイルしてコピーします。





www.bkjia.com本当http://www.bkjia.com/PHPjc/989127.html技術記事 PHP 拡張機能、helloworld php -v の実装 PHP 5.5.9-1ubuntu4.7 (cli) (ビルド: 2015 年 3 月 16 日 20:47:39) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.5.0、Copyright (c) 1998-2...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PHPでどの拡張子が使用されているかを確認する方法 PHPでどの拡張子が使用されているかを確認する方法 Aug 01, 2023 pm 04:13 PM

PHP で使用されている拡張子を確認するには、phpinfo() 関数の出力を表示し、コマンド ライン ツールを使用して、PHP 構成ファイルを確認します。 1. phpinfo() 関数の出力を表示し、単純な PHP スクリプトを作成し、このスクリプトを phpinfo.php として保存し、Web サーバーにアップロードします。ブラウザでこのファイルにアクセスし、ブラウザの検索機能を使用します。キーワードを探すだけです。ページ上の「extension」または「extension_loaded」で拡張機能に関する情報を見つけます。

PHP を使用して SuiteCRM のレポート生成機能を拡張する方法 PHP を使用して SuiteCRM のレポート生成機能を拡張する方法 Jul 19, 2023 am 10:27 AM

PHP を使用して SuiteCRM のレポート生成機能を拡張する方法 SuiteCRM は、企業が顧客関係を管理するのに役立つ豊富な機能を提供する強力なオープンソース CRM システムです。重要な機能の 1 つはレポート生成であり、レポートを使用することにより、企業はビジネス状況をより深く理解し、正しい意思決定を行うことができます。この記事では、PHP を使用して SuiteCRM のレポート生成機能を拡張する方法と、関連するコード例を紹介します。開始する前に、SuiteCRM がインストールされていることを確認する必要があります。

php を使用して PDO を拡張し、Oracle データベースに接続する方法 php を使用して PDO を拡張し、Oracle データベースに接続する方法 Jul 29, 2023 pm 07:21 PM

PHP を使用して PDO を拡張し、Oracle データベースに接続する方法 はじめに: PHP は非常に人気のあるサーバー側プログラミング言語であり、Oracle は一般的に使用されるリレーショナル データベース管理システムです。この記事では、PHP 拡張機能 PDO (PHPDataObjects) を使用して Oracle データベースに接続する方法を紹介します。 1. PDO_OCI 拡張機能のインストール Oracle データベースに接続するには、まず PDO_OCI 拡張機能をインストールする必要があります。 PDO_OCI 拡張機能をインストールする手順は次のとおりです。

PHP 入門: PHP 拡張機能のインストール PHP 入門: PHP 拡張機能のインストール May 20, 2023 am 08:49 AM

PHP を使用して開発する場合、いくつかの PHP 拡張機能を使用する必要がある場合があります。これらの拡張機能により、より多くの機能とツールが提供され、開発作業がより効率的かつ便利になります。ただし、これらの拡張機能を使用する前に、まずインストールする必要があります。この記事では、PHP 拡張機能をインストールする方法を紹介します。 1. PHP 拡張機能とは何ですか? PHP 拡張機能は、PHP プログラミング言語に追加の機能とサービスを提供するコンポーネントを指します。これらのコンポーネントは、PHP の拡張メカニズムを通じてインストールして使用できます。 PHP 拡張機能が役立つ

PHP の geoip 拡張機能を使用するにはどうすればよいですか? PHP の geoip 拡張機能を使用するにはどうすればよいですか? Jun 01, 2023 am 09:13 AM

PHP は、Web ページ上の動的コンテンツを処理できる一般的なサーバー側スクリプト言語です。 PHP の geoip 拡張機能を使用すると、PHP でユーザーの位置に関する情報を取得できます。この記事では、PHP の geoip 拡張機能の使用方法について説明します。 PHP の GeoIP 拡張機能とは何ですか? PHP の geoip 拡張機能は、IP アドレスと位置情報に関するデータを取得できる無料のオープンソース拡張機能です。この拡張機能は、MaxMin によって開発されたデータベースである GeoIP データベースで使用できます。

PHP 拡張機能と Pagoda パネルの PHP バージョン管理 PHP 拡張機能と Pagoda パネルの PHP バージョン管理 Jun 21, 2023 am 08:49 AM

Pagoda Panel はオープンソースのサーバー管理パネルで、Web サイト運営者に便利な Web サイト管理、データベース管理、SSL 証明書管理などのサービスを提供するとともに、強力な PHP 拡張機能と PHP バージョン管理機能も提供し、サーバー管理を容易にします。効率的。 1. PHP 拡張機能 PHP 拡張機能は、PHP の機能を拡張するためのモジュールです。PHP 拡張機能をインストールすることで、次のような機能やサービスを実装できます。

PHP 拡張機能開発の徹底調査: PHP 拡張機能開発の舞台裏の秘密を明らかにする PHP 拡張機能開発の徹底調査: PHP 拡張機能開発の舞台裏の秘密を明らかにする Feb 19, 2024 pm 11:40 PM

PHP 拡張機能の開発は、カスタム機能を作成し、PHP コア機能を拡張し、より強力なアプリケーションを構築する技術です。これは PHP の世界に新たな可能性をもたらし、開発者が言語の基本的な制限を超えることができるようにします。この記事では、PHP 拡張機能の開発の旅へお連れし、基本的な概念から高度なテクニックまで、包括的な知識と実践的なガイダンスを提供します。 PHP 拡張機能開発の基本 PHP 拡張機能開発を開始する前に、いくつかの基本概念を理解する必要があります。 PHP拡張機能とは何ですか? PHP 拡張機能は、PHP のコア機能を拡張し、新しいデータ型、関数、クラスを提供するダイナミック リンク ライブラリ (DLL) です。 PHP 拡張機能の利点 PHP 拡張機能には、スケーラビリティ、柔軟性、パフォーマンスの最適化、コードの再利用など、多くの利点があります。 PHP

完全ガイド: PHP 拡張機能 SimpleXML を使用して XML データを読み取り、処理する方法 完全ガイド: PHP 拡張機能 SimpleXML を使用して XML データを読み取り、処理する方法 Jul 28, 2023 pm 02:46 PM

完全ガイド: PHP 拡張機能 SimpleXML を使用して XML データを読み取り、処理する方法 はじめに: 最新の Web 開発では、XML データの処理と操作は非常に一般的なタスクです。 PHP は、強力なサーバー側スクリプト言語として、XML データを処理および操作するためのさまざまな拡張機能と関数を提供します。その中でも、SimpleXML 拡張機能は、XML データの読み取りと処理のプロセスを簡素化する特に便利なツールです。この記事では、PHP 拡張機能の使用方法に関する完全なガイドを提供します。

See all articles