<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      PHP 與 COM

      [摘要]PHP 可以操作 Win32 平臺下的 COM 和 DCOM 對象 1. 我創建了一個DLL來計算一些東西. 有什么方法可以在 PHP 下運行這個DLL嗎 ? 2. 'Unsupported variant type: xxxx (0xxxxx)' 是什么意思 ? 3. PHP 里...

      PHP 可以操作 Win32 平臺下的 COM 和 DCOM 對象 1. 我創建了一個DLL來計算一些東西. 有什么方法可以在 PHP 下運行這個DLL嗎 ? 2. 'Unsupported variant type: xxxx (0xxxxx)' 是什么意思 ? 3. PHP 里操作可視化對象可能嗎? 4. 我可以把COM 對象存諸到 session里嗎 ? 5. 我怎樣捕獲 COM 錯誤 ? 6. 我怎樣在 PHP 里生成DLL文件,就象我在 Perl 里做的一樣? 7. 'Unable to obtain IDispatch interface for CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}' 是什么意思 ? 8. 我怎樣從遠程服務器運行 COM 對象? 9. 我得到消息: 'DCOM is disabled in C:\path...\scriptname.php on line 6', 我應該怎么辦 ? 10. 在 PHP頁面里可以加載 ActiveX 對象嗎 ? 11. 可不可以得到一個COM運行時的實例 ? 12. 有沒有辦法可以處理從 COM 對象送出的事件 ? 13. 我在調用一個 COM 對象(有多個接口)的方法時出錯, . 我應該怎么辦? 14. PHP 可以 COM工作, 那么 COM+呢 ? 15. PHP 可以操作 COM 對象, 我們是否可以設想通過 MTS 管理組件資源, 從而管理 PHP ?
      1. 我創建了一個DLL來計算一些東西. 有什么方法可以在 PHP 下運行這個DLL嗎 ?
      你不能在PHP里操作簡單的DLL.如果這個DLL包含COM服務器并實現了 IDispatch 接口,你可以操作它.
      2. 'Unsupported variant type: xxxx (0xxxxx)' 是什么意思 ?
      有很多 VARIANT 類型和它們的集合. 絕大多數已經被支持,可是還有少數不支持.數組也不完全支持,只有一維數組才被支持. 如果你還發現不支持的數據類型:請送 bug 報告(如果還沒有報告) 并且提供盡可能多的信息.
      3. PHP 里操作可視化對象可能嗎?
      通常是可以的.但是 PHP 多是用來作為腳本運行在web 服務器設備下, 而可視化對象從來不會出現在服務器桌面. 如果你使用PHP 作為應用程序腳本如 PHP-GTK ,那么通過 COM操作可視化對象是沒有限制的.
      4. 我可以把COM 對象存諸到 session里嗎 ?
      不可以. COM 實例被認為是資源.因此它們只能在單一的腳本程序里起作用.
      5. 我怎樣捕獲 COM 錯誤 ?
      當前沒有其它工具可以追蹤 COM 錯誤,除了 PHP 自已 (@, track_errors, ..), 我們正在考慮實現它的一種方法.
      6. 我可以在 PHP 里生成DLL文件,就象我在 Perl 里做的一樣?
      不可以.不幸的是沒有任何這樣的PHP工具.
      7. 'Unable to obtain IDispatch interface for CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}' 是什么意思 ?
      這個錯誤有多方面的原因:

      CLSID號是錯誤的
      找不到COM所在的DLL
      組件沒有實現 IDispatch 接口

      8. 我怎樣從遠程服務器運行 COM 對象 ?
      就象你運行本地對象一樣. 你僅僅需要把遠程的IP地址作為第二個參數傳給 COM 構造器.
      還要確認你的 php.ini文件里com.allow_dcom=true .
      9. 我得到消息: 'DCOM is disabled in C:\path...\scriptname.php on line 6', 我應該怎么辦 ?
      編輯 php.ini文件,設置 com.allow_dcom=true.
      10. 在 PHP頁面里可以加載 ActiveX 對象嗎 ?
      這應該與PHP無關. ActiveX 是客戶端對象 ,由HTML 頁面調用. 和 PHP 腳本沒有直接關系. 當然,也沒有直接的服務端交互的可能.
      11. 可不可以得到一個COM運行時的實例 ? ?
      用monikers可以實現這個功能. 你想得到同一個Word實例的多個引用,可以用下面的代碼: that instance like shown: $word = new COM("C:\docs\word.doc");
      如果沒有Word的實例在運行,它會創建新的實例.否則,它會返回它的句柄.
      12. 有沒有辦法可以處理從 COM 對象送出的事件 ?
      還不能.
      13. 我在調用一個 COM 對象(有多個接口)的方法時出錯, . 我應該怎么辦?
      答案簡單得讓人不滿意. 我不是太清楚,但我想你不用做什么. 如果還有人關于這有一些情況和看法,請讓 我(harald.radi@nme.at) 知道 :)
      14. PHP 可以 COM工作, 那么 COM+呢 ?
      COM+ 擴展了 COM 框架,用來通過MTS 和 MSMQ管理 組件.沒有什么特殊的東西PHP不支持.
      15. PHP 可以操作 COM 對象, 我們是否可以設想通過 MTS 管理組件資源, 從而管理 PHP ?
      PHP 本身還不能處理交易. 也就是說如果有錯誤發生它還是不會主動滾回. 即使用支持交易的組件對象,你還是要 自己實現交易的管理. (交易 - transactions) 


      標簽:PHP 與 COM 
      日韩精品一区二区三区高清