c 的dll php调用方法,PHP调用C#开发的dll类库方法,_PHP教程
PHP調用C#開發的dll類庫方法,
有的時候,我們需要在php中利用到其他語言編寫的dll類庫,如C#編寫的dll,方法就是利用PHP new COM方法來調用,在調用之前先要把dll庫注冊并把程序集放入到全局緩存中。
1. 創建一個 C# Class Library ,命名為:HelloWorld
2. 打開項目的屬性,在點選左邊的 "Application"(就是第一個tab) , 然后點擊Assembly Information 按鈕 ,在彈出的Dialog中, 必須在底部勾上: Make assembly COM-visible !否則 , 這個dll將不能以COM方式訪問 .( 也可以在代碼中的類聲明中寫上[ComVisible(true)] , 效果一樣,需要增加using System.Runtime.InteropServices;引用)
3. 創建強命名簽名文件并使用 使用vs.net的“Vsitual Studio .Net工具”-->Vistual Studio .Net命令提示符,輸入 sn -k d:\HelloWorld.snk 回車即創建了強命名簽名文件
打開項目的屬性,點選左邊Signing 勾上Sign the assembly 在 Choose a strong name key file:處選擇選擇剛才創建的HelloWorld.snk文件
4. 創建類庫并編譯成dll 代碼如下:namespace HelloWorld
{
//[ComVisible(true)] //or check "Assembly COM-Visible" at Application-Assembly_Information dialog ;
public class Hello
{
public string Write()
{
return "Hello World";
}
}
}
5. 找到dll文件夾路徑 ,然后使用vs.net的“Vsitual Studio .Net工具”-->Vistual Studio .Net命令提示符
進入該dll文件夾下輸入:
代碼如下:regasm HelloWorld.dll
這時候,這個.dll的.net程序集就變成一個標準的Com組件了,但是還不能用,必須讓它變成全局Com組件.
將程序集添加到全局程序集緩存中
進入提示符窗口,輸入:
代碼如下:gacutil /I HelloWorld.dll
這時,你的這個dll就被復制到全局程序集緩存中了.也就是說無論在這個電腦的哪個硬盤上都可以使用此dll組件了.
如果不進行強命名簽名,這一步會提示加載失敗
PHP測試: 代碼如下:
$r=new Com("HelloWorld.Hello");
$s=$r->Write();
echo $s;
?>
命令符下:
代碼如下:CD [/D] [drive:][path] #進入指定路徑
CD [..] #返回父目錄
php調用c程序
我這里給你一個PHP如何執行系統命令的幾個函數,希望能給你帶來幫助,我是以Linux舉例的,和DOS 的是一樣的函數,不過,一定要有執行的權限才可以。 php
php怎調用C語言程序?
php到是可以兩、三句代碼搞定,你確定你c語言會發布webservices,并且生成標準的soap文件,如果你認為php是c語言寫的就可以相互簡單調用的話,那你就錯了,想法是好的,想結合各自的優點,另外你那點計算,php不能滿足,你確定?
http://www.bkjia.com/PHPjc/851338.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/851338.htmlTechArticlePHP調用C#開發的dll類庫方法, 有的時候,我們需要在php中利用到其他語言編寫的dll類庫,如C#編寫的dll,方法就是利用PHP new COM方法來調用,...
本條技術文章來源于互聯網,如果無意侵犯您的權益請點擊此處反饋版權投訴 本文系統來源:php中文網
總結
以上是生活随笔為你收集整理的c 的dll php调用方法,PHP调用C#开发的dll类库方法,_PHP教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: plpythonu_PostgreSQL
- 下一篇: Linux基础学习一:初步认识linux