编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

php 扩展 迈入高阶程序员对第一步

wxchong 2024-07-21 07:14:44 开源技术 12 ℃ 0 评论

首先要明确一下“php 是世界上最好的语言”,如果你有异议,先同意一下再阅读;

php扩展作为 php的高级应用,再对于特有的业务逻辑,通过编写扩展能大大提升执行效率。

再潜意识里任务PHP扩展是一件非常高级的工作,对其望而却步。真正硬着头皮,做了后才发现soeasy!

下面来演示一下php扩展的编写。

当前的php 版本为5.6

第一步环境准备:

  1. download php的源码。(不详说 php.net直接下)
  2. 解压后 按照步骤安装需要的模块。
  3. 一个可用的php环境已经有了,想要丰富php扩展。进入ext 目录。

没错!你会看到很多内置的扩展 curl、json、mcrypt等等。。

4.我们就是要编写和他们一样的插件。鸟哥教我们要多看看已有的扩展,对我们的以后编写肯定有帮助

第二步 编写自己的扩展:

ext_skel 这是一个已经存在的扩展框架生成工具

  • ./ext_skel --extname=fengjie
  • cd fengjie
  • vi config.m4
  • 放开 10,11,12行的注释(dnl) 即删除 PHP_ARG_WITH函数前的dnl 保存
  • vi fengjie.c

注册自己的函数。

  • 编写自己的函数。第一次可以抄一下已有的confirm_fengjie_compiled

ok 两步就编写完成了。

下面就是通用的编译安装扩展的通用方法

php5.3 以后提供了phpize工具

因此 安装方法:

  1. cd /home/users/fengjie03/src/php-5.6.9/ext/fengjie/
  2. /home/users/fengjie03/php/bin/phpize
  3. ./configure --with-php-config=/home/users/fengjie03/php/bin/php-config
  4. make
  5. make install
  6. vi /home/users/fengjie03/php/etc/php.ini 添加 fengjie.so

ok 安装完成 看一下是否成功

/home/users/fengjie03/php/bin/php -m | grep 'fengjie'

bingo!!

一段测试代码:

<?php

echo "<pre>";

print_r(get_loaded_extensions());

print_r(get_extension_funcs('fengjie'));

echo fengjie_test('My first php extension');

echo "</pre>";

恭喜你 已经get 里php扩展的技能!

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表