1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          phpcom(php無法調用com組件如何解決)

          來源:互聯網轉載 時間:2024-05-08 11:54:01

          php無法調用com組件的解決辦法:1、確認php版本以及所需系統工具;2、配置php.ini,開啟“com.allow_dcom = true”;3、開啟php的com功能或者檢查“php_com_dotnet.dll”是否加載成功即可。

          php無法調用com組件怎么辦?php引用COM組件踩坑記錄

          最近工作事項中出現一項“零工”,要在已有的php工程中增加一項功能,而且工程以及所需要實現功能的源代碼工程也都有,本是一件很容易的事情。雖然我鮮少用到php,不過這不是最重要的“限制因素”,讓我頭疼的是,功能庫部分是用.NET框架實現的,里面有很多對數據格式的調整,相對比較復雜,沒有功能邏輯手冊,很難在php中復寫一份。所以要在php中直接引用.NET的動態庫就成了完成“任務”的關鍵

          網上很多前輩記錄了這個問題,但照葫蘆畫瓢未能成功,本文就是在“肝零工”的過程中,遇到并填坑的記錄

          生成COM組件動態庫

          COM component(COM組件)是微軟開發的軟件開發技術。其實質是一些小的二進制可執行程序,它們可以給應用程序,操作系統以及其他組件提供服務。而在php中如果想要引用第三方動態庫,需要通過 new COM("Component.class") 的方法來實現,其中的 Component 必須是COM組件

          1. 構建Windows類庫項目

          無論是哪個版本的Framework,應該都能夠在Windows標簽下找到類庫項目

          這樣工程中默認會有 Properties\AssemblyInfo.cs 文件,里面記錄了項目集所需的信息

          2. 目標框架要匹配

          創建項目的時候可以對Framework進行選擇

          如果是后期調整,可在工程屬性 > 應用程序中的目標框架中進行修改

          注意,需要于后期注冊dll的時候的框架保持一致

          3. 設置COM組件可見

          在 Properties\AssemblyInfo.cs 文件中,將 ComVisible 進行如下修改

          [assembly:ComVisible(true)]

          4. 要設置簽名并設置強名稱密鑰

          工程屬性 > 簽名中,勾選 “為程序集簽名” ,同時在下方 “選擇強名稱密鑰文件” 中新建密鑰文件

          然后生成,在 bin\Debug 目錄下找到對應的 dll 文件

          5. 如果存在無法嵌入的動態庫

          假如工程Framework版本較低,或者,

          引用的庫缺少互操作所需特性,

          總之,無法對引用庫進行嵌入互操作

          那么,依賴的dll,也需要執行后續的注冊等操作

          將DLL注冊到服務器上

          涉及到系統級的操作,坑甚多…

          1. 確認php版本

          親測5.3.22版本不可用,5.4.5版本可用,所以盡可能采用5.4以上版本

          現在php最高是8.0版了,不知道是否還是一樣的操作方法

          2. 確認所需系統工具

          需要 gacutil 和 regasm 兩種工具,且都需要是 匹配Framework版本 的

          也就是說生成的COM組件的dll用的是哪個版本的框架,此處也需要用對應版本的工具進行

          通常情況下windows系統肯定會內置 regasm 工具

          目錄路徑例如,

          C:\Windows\Microsoft.NET\Framework64\v2.0.50727\RegAsm.exe

          如果是應用于64位系統,則在Framework64 目錄下,否則用 Framework 目錄下,選擇對應Framework框架的版本號,其中應該能找到 RegAsm.exe 文件

          gacutil 工具在微軟提供的 windows sdk 中有,如果沒安裝過,可點擊到官網下載

          默認安裝后,Frameworkd4.0以下版本的工具路徑,

          C:\ProgramFiles\MicrosoftSDKs\Windows\v7.1\Bin\gacutil.exe

          如果需要4.0的版本,路徑是,

          c:\ProgramFiles\MicrosoftSDKs\Windows\v7.1\Bin\NETFX4.0Tools\gacutil.exe

          3. 配置php.ini

          開啟 com.allow_dcom = true

          確保你的 extension_dir 目錄中有 php_com_dotnet.dll 文件

          開啟或新增 extension=php_com_dotnet.dll

          4. 緩存和注冊DLL

          以64位系統,4.0版本的my.dll為例

          將第一趴中生成的dll,復制到 c:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\NETFX 4.0 Tools\ 目錄中

          到目錄 c:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\NETFX 4.0 Tools\ 下執行 gacutil /i my.dll

          到目錄 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ 下執行 regasm my.dll

          5. 注銷DLL

          以64位系統,4.0版本的my.dll為例

          到目錄 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ 下執行 regasm my.dll /unregister

          到目錄 c:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\NETFX 4.0 Tools\ 下執行 gacutil /u my

          php調用COM組件

          以上內容都配置無誤以后,就可以在php文件中進行調用,方法如下,

          $comClass=newCOM('namespace.className');$comClass->methodName();

          提示沒有COM方法,則需要考慮是否已經開啟了php的com功能,或者php_com_dotnet.dll是否加載成功

          提示沒有調用的dll的方法,或者dll未注冊,則需要考慮是否dll文件已經注冊成功

          PHP開發環境搭建工具有哪些

          一、phpStudy,是一個新手入門最常用的開發環境。

          二、WampServer,WampServer也同樣的也是和phpStudy一樣操作簡單對小白比較友好。

          三、XAMPP,XAMPP(Apache+MySQL+PHP+PERL)是一個功能強大的建站集成軟件包;

          四、MAMP,MAMP分為兩種MAMP和MAMP Pro for Mac。

          五、寶塔面板,寶塔面板是一款服務器管理軟件,支持windows和linux系統。

          六、UPUPW,UPUPW是目前Windows平臺下最具特色的Web服務器PHP套件。

          讀到這里,這篇“php無法調用com組件如何解決”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注本站行業資訊頻道。

          標簽:phpcom-

          c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...

          2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...

          :喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...

          (資料圖)有關于表情帝是什么意思方面的知識,小編在此整里出來,給大家作為參考,下面就詳細的介紹一下關于表情帝是什么意思的相關內容。1、表情帝指的是主持人楊迪。2、在2010年8月1日東方衛視播出的《中國達人秀》楊迪出現短短1分鐘,卻給全國觀眾留下深刻印象。模樣不佳卻非常自信,喜歡耍寶獲得萬眾矚目,舞臺表現力十分具有綜藝性,將表演做到“旁若無人,死不要臉” 的境界。網友們戲稱其“表情帝”。3、楊迪,...

          中國十大外資銀行排名為:1. 匯豐銀行匯豐銀行以24.74%的高關注率,居于外資銀行排行榜榜首。匯豐集團是全球規模最大的銀行及金融機構之一。為約6,000萬客戶提供服務,服務網絡遍布歐洲、亞太地區、美洲、中東及非洲80多個國家和地區。2. 渣打銀行渣打是一家國際領先的銀行集團,在全球一些最有活力的市場上已經營超過150年,其90%以上的營運收入和利潤來自亞洲、非洲和中東市場。3. 東亞銀行東亞銀行...

          怎樣申購新股,新股申購的方式有以下兩種方式:1.線上申購:投資者在可以購買股票的相關網站或者是股票APP中直接選擇新上市的股票進行申購。2.在線下辦理:投資者也可攜帶個人身份證件到證券公司營業網點請工作人員辦理。以上是新股申購的方式。一般來說新股申購也叫打新股,是指投資者利用資金申請購買即將上市的新股。如果他們中簽就說明認購就成功了。需要注意的是申購新股需要注意以下幾種條件:1投資者申購新股時申購...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>