この記事では、VS2015 (vs14) を使用して PHP7 拡張機能を開発する方法を紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。
開発前の準備作業:
VS (私は2013を使用)
Cygwin (ダウンロードアドレス: http://www.cygwin) .com/)
IIS7.5 の PHP 実行環境 (テストに使用)
php コンパイル済みプログラムとプリコンパイル済みソース コードを備えており、最新バージョン 7.0.5 (ダウンロード アドレス: http://windows.php.net/download#php-7.0)
コンパイルされたプログラムのパス: E:\vs_c \test\phpext\php-7.0.5-src
コンパイル前のソース コード パス: E:\vs_c \test\phpext\php-7.0.5-nts-Win32-VC14-x86\
手順:
1. Cygwin をインストールします
ネットワークからインストール
TEST=1 (赤い部分は拡張機能名に変更する必要があります。拡張機能名に変更しないとphpが認識しません)
TEST (ここの赤い部分は拡張機能名に変更する必要があります。拡張機能名に変更しないと PHP が認識しません)
ZTS (この変数を追加するとスレッド セーフがオンになり、追加しないとスレッド セーフがオフになります。この変数を追加するかどうかは、コンパイルした PHP がスレッド セーフであるかどうかに基づいて判断できます。 ps: 応答せずに損失を被りました。 .PHP は拡張子を認識しません)
ソリューションを生成します。エラー メッセージには、「config.w32.h」が見つからないことが示されます。「config.w32.h」を検索します。 h" をソース コード ファイル ディレクトリに移動し、E:\vs_c \test\phpext\php-7.0.5-src\win32\build\ フォルダーで "config.w32.h.in" を見つけてコピーします。ファイルを E:\vs_c \test \phpext\php-7.0.5-src\main\ フォルダーにコピーし、次の ".in"
ソリューションを再度生成すると、エラー メッセージ LNK1120
# が表示されます。 ##エラー 7 エラー LNK1120: 5 つの未解決の外部コマンド E:\vs_c \test\phpext\php-7.0.5-src\ext\test\Release\phptest.dll 1 1 phptestプロジェクトを右クリックプロパティ、コネクタ、入力、追加の依存関係、編集、php5.lib へのパスを入力します (このファイルは、php がコンパイルされた後のプログラム フォルダー、ルート ディレクトリの dev フォルダーにあります) 注: 順序は次のとおりです。拡張機能が php で動作できるようにするため、一致する実行環境は、php 実行環境のコンパイル済みバージョン (php7.0.5 は VC14 によってコンパイルされています) によって異なります。これは、E:\vs_c\test\phpext\php-7.0 の設定です。 .5-src\main\ フォルダー。w32.h ファイルに追加します:#define PHP_COMPILER_ID "VC14"Open E:\vs_c \test\phpext\php-7.0.5-src\ext\test\test.c
PHP_FUNCTION(confirm_test_compiled) { 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, "Congratulations! You have successfully modified ext/%.78s/config.m4. Module %.78s is now compiled into PHP.", "test", arg); RETURN_STRINGL(strg, len, 0); }確認_test_compiled を test_echo に変更します。このコードを再度検索します:
const zend_function_entry test_functions[] = { PHP_FE(confirm_test_compiled, NULL) /* For testing, remove later. */ PHP_FE_END /* Must be the last line in test_functions[] */ };内部の確認_test_compiled を test_echo に変更します
<?php echo test_echo("123");実行して結果を取得します:
##この test_echo 関数は独自のカスタム関数であり、必要に応じて独自の拡張機能を開発して PHP のパフォーマンスを向上させることもできます。
推奨学習:
php ビデオ チュートリアル以上がVS2015 (vs14) で PHP7 拡張機能を開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この記事では、PHP 7の新しいオペレーターであるNull Coalescing(??)、Spaceship(&lt; =&gt;)、およびnull coulescing assignment(?? =)演算子について詳しく説明しています。 これらは、ヌルのチェックと比較を簡素化することにより、コードの読みやすさとパフォーマンスを向上させます、indirectl

PHP 7のマイナーバージョンの違いにより、微妙なメモリ消費の変動が得られます。 一般に、新しいバージョンはZend EngineとGarbage Collectionの最適化を介してパフォーマンスとメモリ効率を向上させますが、その影響はアプリケーションに依存します。 意味

この記事では、パフォーマンスのためのPHP7コードの最適化を検討します。 非効率的なデータベースクエリ、I/O操作、メモリリークなどの一般的なボトルネックに対処します。 ソリューションには、効率的なコーディングプラクティス、データベース、キャッシュ戦略、Asynchが含まれます

この記事では、session_start()、$ _session、session_destroy()、セキュアクッキー処理などのコア機能をカバーする効果的なPHP 7セッション管理について詳しく説明します。 HTTPS、セッションID再生、sなどのセキュリティベストプラクティスを強調しています

PHP 7は、多数のバグに対処し、パフォーマンスを向上させ、セキュリティを強化することにより、以前のバージョンで大幅に改善されました。 主な改善には、書き換えられたZend Engine 3、最適化されたメモリ管理、洗練されたエラー処理が含まれます。遺伝子中

この記事では、PHP7でのセッションの処理を検討し、Zendエンジンの強化に起因するパフォーマンスの改善を強調します。 セキュリティとスケーラビリティのためのアップグレードと詳細最適化戦略による潜在的な互換性の問題について説明します

この記事では、New Relicを使用してPHP 7アプリケーションのパフォーマンスを監視する方法について説明します。 New Relicのセットアップ、APDEXスコアや応答時間などのキーパフォーマンスインジケーター(KPI)、トランザクショントレースを介したボトルネックの識別、エラートラックの詳細

この記事では、PHP 5.6をPHP 7にアップグレードし、バックアップ、サーバーの互換性のチェック、アップグレードメソッドの選択などの重要な手順(パッケージマネージャー、コンパイル、コントロールパネル、またはWebサーバーの構成)を強調しています。 ポテンティアに対処します


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン
