Tôi có một dự án cần truy cập một DLL với PHP. Máy chủ là một máy Windows và máy chủ Apache được cung cấp bởi XAMPP.Sử dụng DLL với PHP dành cho người giả
Tôi đọc nhiều câu trả lời trên web như
- Use DLL in PHP?
- php communication with dll?
- calling dll through php
- http://ca.php.net/manual/en/class.com.php
- http://ca2.php.net/manual/en/book.w32api.php
- http://www.talkphp.com/absolute-beginners/3340-php-how-load-com-dll-file.html
Sau đây là cách tôi gọi là DLL trong HTA
/Javascript
:
<object style="display:none" id="SOME_ID" classid="clsid:SOME_CLASS_ID" codebase="./somePath.dll"></object>
Liệu ai đó có một ví dụ làm việc?
Đây là những gì tôi đã cố gắng cho đến nay trong PHP:
$obj = new COM('pathTo.dll');
Thông tin về DLL:
- Biên soạn bằng Delphi
- Nó được (tất nhiên) nhà làm
- Tôi nhận được lỗi sau
the DllRegister Server entry point was not found
khi tôi cố gắng đăng ký DLL vớiregsvr32
Nó có thể được sử dụng mà không cần đăng ký nó với regsvr32
?
CLSID của lớp COM của bạn? Tôi nghi ngờ bạn không tạo ra một DLL đã sẵn sàng cho COM interop ... –
Mọi thứ tôi đã từng đọc về chủ đề này nói với tôi rằng cách để làm điều này là viết một trình bao bọc C++ cho DLL có thể được xây dựng thành một PHP mở rộng và sử dụng nó theo cách đó. Tôi chưa bao giờ cố gắng làm điều đó và không thể nói với bạn như thế nào, nhưng tôi đã đi qua câu hỏi trước đây (bạn liên kết với một vài người hỏi cùng một câu hỏi) và tôi chưa bao giờ thấy ai nói "Tôi đã làm việc đó" trừ khi họ xây dựng một phần mở rộng. – DaveRandom
@ThorstenDittmar 'CLSID' là chuỗi chuỗi AlphaNumeric có định dạng XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX sau. Điều gì làm bạn có nghĩa là bởi một DLL đã sẵn sàng cho COM interop –