本文目錄一覽:
- 1、那位有PHP 調用外部DLL經驗?
- 2、php添加擴展dll文件
- 3、windows下開發並編譯PHP擴展的方法
- 4、如何在windows環境下編譯生成PHP的zookeeper擴展dll
- 5、phpstudy windows10環境下怎麼安裝php_intl.dll擴展
- 6、thinkphp可以編譯成dll擴展嗎
那位有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-hk/n/243757.html