男女疯狂一边摸一边做羞羞视频|啊好深好硬快点用力别停动态图|亚洲一区无码中文字幕|特级无码毛片免费视频播放▽|久久狠狠躁免费观看|国内精品久久久久久网站

PHP 和 COM

PHP 可以在 Win32 平臺中訪(fǎng)問(wèn) COM 和 DCOM 對象。

我建立了一個(gè) DLL 來(lái)做某種計算。有辦法在 PHP 中運行這個(gè) DLL 嗎?

如果這是個(gè)簡(jiǎn)單的 DLL 那么還沒(méi)有辦法在 PHP 中運行它。如果這個(gè) DLL 中包含有一個(gè) COM 服務(wù)器并且它實(shí)現了 IDispatch 接口,那有可能訪(fǎng)問(wèn)它。

“Unsupported variant type: xxxx (0xxxxx)”是什么意思?

有幾十種 VARIANT 類(lèi)型以及它們的組合。大多數已經(jīng)被支持了但還有幾種尚未實(shí)現。數組沒(méi)有完全被支持。只有一維的僅用作索引的數組可以在 PHP 和 COM 之間傳遞。如果你發(fā)現其它未支持的類(lèi)型,請當作一個(gè) bug 報告(如果尚未被報告的話(huà))并提供盡可能多的信息。

在 PHP 中有可能操縱可視對象嗎?

一般來(lái)說(shuō)是可以的,但是 PHP 大都用來(lái)作為 web 腳本語(yǔ)言并運行在 web 服務(wù)器的上下文環(huán)境中,因此可視對象決不會(huì )在服務(wù)器的桌面上顯示。如果你把 PHP 用作應用程序腳本例如結合 PHP-GTK 來(lái)使用,那么訪(fǎng)問(wèn)和通過(guò) COM 來(lái)操縱可視對象方面沒(méi)有限制。

可以將一個(gè) COM 對象保存在 session 中嗎?

不行。COM 的實(shí)例被看作是資源,因此只在一個(gè)腳本的上下文中有效。

怎樣可以捕獲 COM 的錯誤?

在 PHP 5 中,COM 擴展會(huì )發(fā)出 com_exception異常信息,可以捕獲并檢查 code成員來(lái)決定下一步的行為。

在 PHP 4 中除了用 PHP 自己提供的辦法之外(@,track_errors,..)不可能捕獲 COM 的錯誤。

我能像在 Perl 中一樣從 PHP 腳本生成 DLL 文件嗎?

不行,PHP 沒(méi)有這樣的工具。

“Unable to obtain IDispatch interface for CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}”是什么意思?

此錯誤可以有多種原因:

  • 錯誤的 CLSID
  • 找不到所請求的 DLL
  • 所請求的組件沒(méi)有實(shí)現 IDispatch 接口

怎樣從遠端服務(wù)器運行 COM 對象?

完全和運行本地對象一樣。只須將遠端服務(wù)器的 IP 作為第二個(gè)變量傳遞給 COM 的構造函數即可。

確認在 php.ini 中設定了 =&true;。

我得到一個(gè)“DCOM is disabled in C:\path...\scriptname.php on line 6”信息,應該怎么辦?

編輯 php.ini 并設定 =&true;。

有可能在 PHP 頁(yè)面中加載/操縱 ActiveX 對象嗎?

這不關(guān) PHP 的事。如果在 HTML 文檔中請求的話(huà),ActiveX 對象被加載在客戶(hù)端。這和 PHP 腳本沒(méi)有關(guān)系,因此也不可能和服務(wù)器端發(fā)生直接的交互作用。

有可能得到一個(gè)組件在運行中的實(shí)例嗎?

在綽號的幫助下這有可能。如果你想得到同一個(gè) word 實(shí)例的多個(gè)引用你可以這樣建立此實(shí)例:

<?php
$word 
= new COM("C:\docs\word.doc");
?>

如果沒(méi)有運行中的實(shí)例這將建立一個(gè)新的實(shí)例,否則將會(huì )返回正在運行中的實(shí)例的句柄,如果可用的話(huà)。

有辦法處理 COM 對象中發(fā)送的事件嗎?

可以自定義事件收報方并且用 com_event_sink()函數綁定之??梢杂? com_print_typeinfo()來(lái)讓 PHP 產(chǎn)生事件收報方類(lèi)的框架。

我在嘗試調用一個(gè)打開(kāi)了多于一個(gè)接口的 COM 對象中的方法時(shí)碰到問(wèn)題,應該怎么辦?

我也不知道怎么辦,我想這沒(méi)辦法。如果什么人有對此問(wèn)題的明確信息請 ? 告訴我。:)

這么說(shuō) PHP 可以和 COM 一起工作,那么 COM+ 呢?

COM+ 通過(guò)使用 MTS 和 MSMQ 來(lái)管理組件的框架擴展了 COM,但并沒(méi)有什么特殊之處使 PHP 非要支持這樣的組件。

如果 PHP 可以操縱 COM 對象,那么可以設想結合 PHP 用 MTS 來(lái)管理組件資源嗎?

PHP 本身還并不處理事務(wù)。因而如果出錯也不會(huì )發(fā)動(dòng)撤回機制。如果你使用了支持事務(wù)處理的組件那你不得不自己實(shí)現事務(wù)管理。

男女疯狂一边摸一边做羞羞视频|啊好深好硬快点用力别停动态图|亚洲一区无码中文字幕|特级无码毛片免费视频播放▽|久久狠狠躁免费观看|国内精品久久久久久网站