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/zh-tw/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

發表回復

登錄後才能評論