Rumah pembangunan bahagian belakang tutorial php Windows WAMP PHP 扩展开发

Windows WAMP PHP 扩展开发

Jul 30, 2016 pm 01:31 PM
apache nbsp php plugin wamp

1.开发准备
  安装WAMP,使用的版本为WampServer Version 2.5,其中PHP的版本为5.5.12。
  WAMP安装目录:D:\wamp
  apache目录:D:\wamp\bin\apache
  php目录:D:\wamp\bin\php
  下载PHP-5.5.12源码包,解压到任意目录。例如:E:\php-5.5.12
2.通过phpinfo()查询php版本的编译的相关信息,主要查看:
  CompilerMSVC11 (Visual C++ 2012)
  Architecturex86
  Zend Extension BuildAPI220121212,TS,VC11
  PHP Extension BuildAPI20121212,TS,VC11
  从以上的信息可以看出WampServer 2.5中的php是通过MSVC11(VS2012)在x86(win32)进行编译且设置了TS(Thread Safe)属性。
  所以在编译扩展插件时也需要使用相同的编译环境及TS设置(默认值为TS)
3.生成编译插件时需要的config.w32.h文件
  打开“VS2012 开发人员命令提示”并进入E:\php-5.5.12目录;
  执行buildconf.bat命令,该命令在当前目录下生成configure.js文件;
  执行configure命令,生成E:\php-5.5.12\main\config.w32.h文件。
  如果执行过程中出现bison相关的错误,说明你没有安装bison,可以打开configure.js文件并注释如下三行,再重新执行configure命令。
  if (!PATH_PROG('bison')) {
ERROR('bison is required')
  }
  为什么可以这么操作,因为我们不需要编译PHP,只需要生成config.w32.h文件,以编译扩展插件。
4.插件编译文件准备
  进入E:\php-5.5.12\ext目录,复制E:\php-5.5.12\ext\skeleton目录并重命名为你所需要开发插件的名字,如my_plugin;
  将php_skeleton.h,skeleton.c和skeleton.dsp重命名为php_my_plugin.h,my_plugin.c和my_plugin.dsp;
  分别打开上面的三个文件,将文件中的extname替换为my_plugin,EXTNAME替换为MY_PLUGIN(保证大小写一致);
  将D:\wamp\bin\php\php5.5.12\dev\php5ts.lib复制到my_plugin目录。
5.编译插件及安装
  使用VS2012打开my_plugin.dsp文件,选择Release_TS(生成Release版本)并配置编译为C代码(解决方案属性-配置属性-C/C++-高级-编译为-编译为 C 代码 (/TC));
  编译解决方案并生成插件所对应的php_my_plugin.dll文件(位于E:\php-5.5.12\Release_TS目录);
  将编译生成的dll文件复制到Wamp PHP扩展目录(D:\wamp\bin\php\php5.5.12\ext);
  编辑D:\wamp\bin\apache\apache2.4.9\bin\php.ini文件,查找"extension="关键字并在PHP原有插件的后面添加"extension=php_my_plugin.dll";
  特别注意:所编辑的php.ini不是D:\wamp\bin\php\php5.5.12\php.ini,因为Wamp初始化PHP时,读取位置在D:\wamp\bin\apache\apache2.4.9\bin\php.ini文件。
  重启Apache服务器。
6.测试插件
  如果插件加载成功,重启Apache服务器访问phpinfo()即可看到新添加的my_plugin插件。
  生成my_plugin_test.php文件,放置到D:\wamp\www目录,文件内容如下:
      echo confirm_my_plugin_compiled("my_plugin");
  ?>
  使用浏览器访问上面新建的my_plugin_test.php文件,出现如下页面,说明插件运行正常:
  Congratulations! You have successfully modified ext/my_plugin/config.m4. Module my_plugin is now compiled into PHP.

版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了Windows WAMP PHP 扩展开发,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

PHP dan Python: Membandingkan dua bahasa pengaturcaraan yang popular PHP dan Python: Membandingkan dua bahasa pengaturcaraan yang popular Apr 14, 2025 am 12:13 AM

PHP dan Python masing -masing mempunyai kelebihan mereka sendiri, dan memilih mengikut keperluan projek. 1.PHP sesuai untuk pembangunan web, terutamanya untuk pembangunan pesat dan penyelenggaraan laman web. 2. Python sesuai untuk sains data, pembelajaran mesin dan kecerdasan buatan, dengan sintaks ringkas dan sesuai untuk pemula.

Cara menetapkan direktori CGI di Apache Cara menetapkan direktori CGI di Apache Apr 13, 2025 pm 01:18 PM

Untuk menubuhkan direktori CGI di Apache, anda perlu melakukan langkah-langkah berikut: Buat direktori CGI seperti "CGI-Bin", dan memberikan kebenaran menulis Apache. Tambah blok arahan "Scriptalias" dalam fail konfigurasi Apache untuk memetakan direktori CGI ke url "/cgi". Mulakan semula Apache.

Relevannya PHP: Adakah ia masih hidup? Relevannya PHP: Adakah ia masih hidup? Apr 14, 2025 am 12:12 AM

PHP masih dinamik dan masih menduduki kedudukan penting dalam bidang pengaturcaraan moden. 1) kesederhanaan PHP dan sokongan komuniti yang kuat menjadikannya digunakan secara meluas dalam pembangunan web; 2) fleksibiliti dan kestabilannya menjadikannya cemerlang dalam mengendalikan borang web, operasi pangkalan data dan pemprosesan fail; 3) PHP sentiasa berkembang dan mengoptimumkan, sesuai untuk pemula dan pemaju yang berpengalaman.

Cara Memulakan Apache Cara Memulakan Apache Apr 13, 2025 pm 01:06 PM

Langkah-langkah untuk memulakan Apache adalah seperti berikut: Pasang Apache (perintah: sudo apt-get pemasangan apache2 atau muat turun dari laman web rasmi) Mula Apache (linux: Sudo Systemctl Mula Apache2; Windows: Klik kanan "Apache2.4" Perkhidmatan dan pilih "Mula") Boot secara automatik (Pilihan, Linux: Sudo Systemctl

Tujuan PHP: Membina Laman Web Dinamik Tujuan PHP: Membina Laman Web Dinamik Apr 15, 2025 am 12:18 AM

PHP digunakan untuk membina laman web dinamik, dan fungsi terasnya termasuk: 1. Menjana kandungan dinamik dan menghasilkan laman web secara real time dengan menyambung dengan pangkalan data; 2. Proses Interaksi Pengguna dan Penyerahan Bentuk, Sahkan Input dan Menanggapi Operasi; 3. Menguruskan sesi dan pengesahan pengguna untuk memberikan pengalaman yang diperibadikan; 4. Mengoptimumkan prestasi dan ikuti amalan terbaik untuk meningkatkan kecekapan dan keselamatan laman web.

Apa yang Harus Dilakukan Sekiranya Pelabuhan Apache80 Diduduki Apa yang Harus Dilakukan Sekiranya Pelabuhan Apache80 Diduduki Apr 13, 2025 pm 01:24 PM

Apabila port Apache 80 diduduki, penyelesaiannya adalah seperti berikut: Cari proses yang menduduki pelabuhan dan tutupnya. Semak tetapan firewall untuk memastikan Apache tidak disekat. Jika kaedah di atas tidak berfungsi, sila buat semula Apache untuk menggunakan port yang berbeza. Mulakan semula perkhidmatan Apache.

PHP dalam Tindakan: Contoh dan aplikasi dunia nyata PHP dalam Tindakan: Contoh dan aplikasi dunia nyata Apr 14, 2025 am 12:19 AM

PHP digunakan secara meluas dalam e-dagang, sistem pengurusan kandungan dan pembangunan API. 1) e-dagang: Digunakan untuk fungsi keranjang belanja dan pemprosesan pembayaran. 2) Sistem Pengurusan Kandungan: Digunakan untuk penjanaan kandungan dinamik dan pengurusan pengguna. 3) Pembangunan API: Digunakan untuk Pembangunan API RESTful dan Keselamatan API. Melalui pengoptimuman prestasi dan amalan terbaik, kecekapan dan pemeliharaan aplikasi PHP bertambah baik.

PHP: Pengendalian pangkalan data dan logik sisi pelayan PHP: Pengendalian pangkalan data dan logik sisi pelayan Apr 15, 2025 am 12:15 AM

PHP menggunakan sambungan MySQLI dan PDO untuk berinteraksi dalam operasi pangkalan data dan pemprosesan logik sisi pelayan, dan memproses logik sisi pelayan melalui fungsi seperti pengurusan sesi. 1) Gunakan MySQLI atau PDO untuk menyambung ke pangkalan data dan laksanakan pertanyaan SQL. 2) Mengendalikan permintaan HTTP dan status pengguna melalui pengurusan sesi dan fungsi lain. 3) Gunakan urus niaga untuk memastikan atomik operasi pangkalan data. 4) Mencegah suntikan SQL, gunakan pengendalian pengecualian dan sambungan penutup untuk debugging. 5) Mengoptimumkan prestasi melalui pengindeksan dan cache, tulis kod yang sangat mudah dibaca dan lakukan pengendalian ralat.

See all articles