ホームページ > バックエンド開発 > PHPチュートリアル > php C++ 拡張機能の開発 php c フレームワーク php c 拡張フレームワーク php c extensio

php C++ 拡張機能の開発 php c フレームワーク php c 拡張フレームワーク php c extensio

WBOY
リリース: 2016-07-29 08:53:58
オリジナル
1220 人が閲覧しました

過去 2 日間、私は PHP C++ 拡張機能の開発プロセスを研究しました。 その過程でたくさんの落とし穴に遭遇したので、ここに記録しておきます。

mongo_cpp 拡張機能を作成します

1. 拡張機能ディレクトリを作成します

#cd php-5.3.6/ext
#./ext_skel --extname=hello

2.

コンテンツを手放します:

PHP_ARG_ENABLE(hello, hello サポートを有効にするかどうか,
コメントが整列していることを確認してください:
[ --enable-hello ] hello サポートを有効にする] )

また、何かを追加します:

PHP_REQUIRE_CXX()
PHP_SUBST(MONGO_CPP_SHARED_LIBADD)
PHP_ADD_LI BRARY(stdc++, 1, DD)
PHP_NEW_EXTENSION(mongo_cpp, mongo_cpp.cpp, $ext_shared)

3.configure と makefile を生成します
#/xxxx/php/bin/phpize

#./configure --with-php-c/local/php5/bin/php-config

4. Makefile

を編集し、mongo_cppOtherを追加します。 cpp 編集タスクとshared_objects_mongo_cppへの追加

6. mongo_cpp.cpp 内 まず、追加した関数をすべてエントリ関数に登録します

; 次に、ファイルの最後の部分に関数定義を追加します。

7.. sudo make ; sudo make install;

これで、/usr/local/php5/lib/php/extensions/no-debug-non-zts-20100525/
にmongo_cpp.soができました。
8. 他の so を使用して mongo_cpp.so を生成する場合 (.a が使用されている場合でも、理由はわかりません)、実行前にそのパスを LD_LIBRARY_PATH.

9 に追加します。マクロ関数についても情報を確認する必要がありますが、ここでは説明しません。

上記では、PC および PHP コンテンツを含む PHP C++ 拡張機能の開発について紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。

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