php扩展dll开发,php扩展模块开发

本文目录一览:

那位有PHP 调用外部DLL经验?

做成 php 的扩展,就可以调用了。

把做好的dll文件放在php的扩展模块路径下面,然后在php.ini文件中追加

extension=extname.dll

如果dll文件没问题,接着就可以在php文件中直接调用其中的函数了。

以下这个地址的文章教你怎么做php的扩展:

php添加扩展dll文件

下载对应版本的PHP 扩展文件“php_*.dll”(其中星号代表具体某扩展的名字)

将下载的扩展文件放在“PHP\ext”目录下(在 PHP 4 中位于“PHP\extensions”目录下)。

打开php.ini 配置文件载入 PHP 扩展。extension=php_*.dll

重启apache,打开phpinfo(),查看扩展是否安装成功

windows下开发并编译PHP扩展的方法

现在就简单说一在WINDOWS下开发PHP扩展的步骤:

首先需要准备的软件有:

cygwin

安装路径e:\app\cygwin

visual

studio

C++

6.0,

修改环境变量,把已经安装好的PHP路径设置为环境变量。在这里,假设我的PHP安装目录是:e:\app\php5.2.5,那么我把WINDOWS环境变量后面加上这个安装目录。方便一会儿使用php.exe。

PHP源代码,这里假设为e:\c_source_code\php-5.2.5

1、修改文件

“PHP源文件目录/ext/ext_skel_win32.php”,在这里就是:E:\c_source_code\php-5.2.5\ext,其中主要是修改其中的cygwin路径。$cygwin_path

=

‘e:\app\cygwin\bin’;

把$cygwin_path修改为你实际安装cygwin的路径。

2、在源代码ext目录也就是e:\c_source_code\php-5.2.5\ext下,执行

php

ext_skel_win32.php

–extname=EXT_NAME,此时会在ext目录下生成EXT_NAME目录,这个目录就是我们将要进行PHP扩展开发的框架。比如你运行php.exe

ext_skel_win32.php

–extname=foo,会在ext目录下生成foo目录。

3、将php-root\dev\php5ts.lib拷贝至

“ext/EXT_NAME”中。比如你要开发的PHP扩展名为foo,那么就需要把php-root\dev\php5ts.lib拷贝到PHP源文件目录\ext\foo中。

4、修改foo.c内容,编写我们需要的C代码。

5、进入EXT_NAME目录,打开EXT_NAME.dsp。

设置VC6工程,

设置菜单“组建”-“移除工程配置”,选中“Win

32

Release_TS”,

设置菜单“工程”,选中“Win

32

Release_TS”

打开Tab“连接”,设置“输出文件名”中的目录,

[可选]打开Tab“C/C++”,增加“预处理器定义”“,COMPILE_DL_EXT_NAME”(注意全大写,默认加入的),取消预定义“LIBZEND_EXPORTS”(否则不可引入zend函数)。

6、设置好以后,进行编译,会生成一个dll文件,文件名是EXT_NAME.dll,比如在我们的例子中就为foo.dll

把foo.dll拷到e:\app\ext目录下,并在php.ini里加上一行extension=foo.dll,重启一下apache,查看phpinfo();,会发现我们的PHP扩展foo()已经加载进来,已经可以使用这个foo扩展了。

如何在windows环境下编译生成PHP的zookeeper扩展dll

1、创建编译目录“C:\php_sdk”

2、解压php-sdk-binary-tools-20110915.zip里面的文件到php_sdk目录下

3、在开始菜单找到并打开Windows SDK CMD Shell (注意一定是SDK的shell , 不是DOS操作的cmd窗口),然后执行

[plain] view plaincopy

setenv /x86 /xp /release //这一句一定要执行成功,要不怎么都不会编译成功

cd php_sdk

bin\phpsdk_setvars.bat

bin\phpsdk_buildtree.bat phpdev

执行后,目录下会生成phpdev文件夹

4、进入C:\php_sdk\phpdev\vc9\x86\,把deps-5.3-vc9-x86.7z解压到该目录下,覆盖deps文件夹。(php sdk)

5、把php源代码也解压到x86目录下。

6、把runkit压缩包内容解压到php解压后源码下的ext目录下,并把文件夹名runkit-master改为runkit

7、在x86目录下创建obj文件夹,用于保存编译时生成的文件

8、执行以下命令,用于创建php编译配置

[plain] view plaincopy

cd phpdev\vc9\x86\php5.3-201308211030

buildconf

configure –help ..\configure_help.txt

configure –disable-all –enable-cli –enable-runkit=shared –enable-object-out-dir=..\obj

注:配置中的–enable-runkit=shared意思是 memcache 以 dll 形式生成,否则就和php集成在一起了。

phpstudy windows10环境下怎么安装php_intl.dll扩展

在phpstudy中将版本切换到php-5.4.45-nts+iis7/8(打开phpstudy-切换版本-选择php-5.4.45-nts+iis7/8)

win10+iis10+phpStudy配置php开发环境

win10+iis10+phpStudy配置php开发环境

2

切换版本后,可能你的mysql启不起来,没关系,手动启动一下就可以了(到你安装mysql的bin目录下点一下mysqld.exe,点击后,会弹一个控制台界面,界面会自己关掉,关掉后mysql就运行好了)

win10+iis10+phpStudy配置php开发环境

win10+iis10+phpStudy配置php开发环境

win10+iis10+phpStudy配置php开发环境

在phpstudy上新增一个网站,我这里使用的这个域名是永久解析到了127.0.0.1的,所以可以随便取个二级域名绑定你本地的网站。

win10+iis10+phpStudy配置php开发环境

win10+iis10+phpStudy配置php开发环境

win10+iis10+phpStudy配置php开发环境

win10+iis10+phpStudy配置php开发环境

打开你的iis管理器(win+R-输入inetmgr-确定),准备添加“处理程序映射”

win10+iis10+phpStudy配置php开发环境

双击“处理程序映射”,然后左键点击右上角“添加模块映射…”

win10+iis10+phpStudy配置php开发环境

如下图,填写模块信息,注意,请求路径*.php的*不能少。

win10+iis10+phpStudy配置php开发环境

选择可执行文件,即你php目录下的php-cgi.exe

win10+iis10+phpStudy配置php开发环境

填写好名称,然后还要配置请求限制,如图所示,选择“文件或文件夹”,然后一路确定。

win10+iis10+phpStudy配置php开发环境

win10+iis10+phpStudy配置php开发环境

win10+iis10+phpStudy配置php开发环境

win10+iis10+phpStudy配置php开发环境

确定后,映射模块列表里有你添加的信息,说明添加模块成功。

win10+iis10+phpStudy配置php开发环境

在IIS上添加一个网站,注意,绑定的端口为80端口,域名和phpstudy上绑定的一样。

win10+iis10+phpStudy配置php开发环境

win10+iis10+phpStudy配置php开发环境

配置好默认文档(index.php),其它的可以删除。

win10+iis10+phpStudy配置php开发环境

win10+iis10+phpStudy配置php开发环境

win10+iis10+phpStudy配置php开发环境

配置好了默认文档后,就可以访问你的php网站了,因为我这个网站首页还没有内容,所以显示的是登录页面,如下

win10+iis10+phpStudy配置php开发环境

thinkphp可以编译成dll扩展吗

thinkphp是php语言写的,php是解释性语言,dll扩展是编译性语言(C语言等)编译出来的,所以不可以的

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/243757.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-12 12:58
下一篇 2024-12-12 12:58

相关推荐

  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • 光模块异常,SFP未认证(entityphysicalindex=6743835)——解决方案和

    如果您遇到类似optical module exception, sfp is not certified. (entityphysicalindex=6743835)的问题,那么…

    编程 2025-04-29
  • PHP怎么接币

    想要在自己的网站或应用中接受比特币等加密货币的支付,就需要对该加密货币拥有一定的了解,并使用对应的API进行开发。本文将从多个方面详细阐述如何使用PHP接受加密货币的支付。 一、环…

    编程 2025-04-29
  • Python模块下载与安装指南

    如果想要扩展Python的功能,可以使用Python模块来实现。但是,在使用之前,需要先下载并安装对应的模块。本文将从以下多个方面对Python模块下载与安装进行详细的阐述,包括使…

    编程 2025-04-29
  • Python编程三剑客——模块、包、库

    本文主要介绍Python编程三剑客:模块、包、库的概念、特点、用法,以及在实际编程中的实际应用,旨在帮助读者更好地理解和应用Python编程。 一、模块 1、概念:Python模块…

    编程 2025-04-29
  • 如何使用pip安装模块

    pip作为Python默认的包管理系统,是安装和管理Python包的一种方式,它可以轻松快捷地安装、卸载和管理Python的扩展库、模块等。下面从几个方面详细介绍pip的使用方法。…

    编程 2025-04-28
  • Python如何下载第三方模块

    想要使Python更加强大且具备跨平台性,我们可以下载许多第三方模块。下面将从几个方面详细介绍如何下载第三方模块。 一、使用pip下载第三方模块 pip是Python的软件包管理器…

    编程 2025-04-28
  • Python datetime和time模块用法介绍

    本文将详细阐述Python datetime和time模块的用法和应用场景,以帮助读者更好地理解和运用这两个模块。 一、datetime模块 datetime模块提供了处理日期和时…

    编程 2025-04-28
  • Idea创建模块时下面没有启动类的解决方法

    本文将从以下几个方面对Idea创建模块时下面没有启动类进行详细阐述: 一、创建SpringBoot项目时没有启动类的解决方法 在使用Idea创建SpringBoot项目时,有可能会…

    编程 2025-04-28
  • 使用PHP foreach遍历有相同属性的值

    本篇文章将介绍如何使用PHP foreach遍历具有相同属性的值,并给出相应的代码示例。 一、基础概念 在讲解如何使用PHP foreach遍历有相同属性的值之前,我们需要先了解几…

    编程 2025-04-28

发表回复

登录后才能评论