Mam projekt, który musi mieć dostęp do biblioteki DLL z PHP. Serwer to maszyna z systemem Windows, a serwer Apache jest dostarczany przez XAMPP.Używanie biblioteki DLL z PHP dla manekinów
Czytałem wiele odpowiedzi na internecie jak
- 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
Oto jak nazywam DLL w HTA
/Javascript
:
<object style="display:none" id="SOME_ID" classid="clsid:SOME_CLASS_ID" codebase="./somePath.dll"></object>
Czy ktoś ma przykład działa?
Oto, co starałem tak daleko w PHP:
$obj = new COM('pathTo.dll');
Informacja o DLL:
- Zestawione użyciu Delphi
- To jest (oczywiście) home made
- Pojawia się następujący błąd:
the DllRegister Server entry point was not found
podczas próby zarejestrowania biblioteki DLL za pomocąregsvr32
Czy można z niego korzystać bez rejestracji za pomocą regsvr32
?
Co znajduje CLSID z klasy COM? Podejrzewam, że nie tworzysz biblioteki DLL, która jest gotowa na współdziałanie COM ... –
Wszystko, co kiedykolwiek przeczytałem na ten temat, mówi mi, że sposobem na zrobienie tego jest napisanie wrappera C++ dla biblioteki DLL, która może być wbudowana w PHP rozszerzenie i używać go w ten sposób. Nigdy nie próbowałem tego zrobić i nie mogę ci powiedzieć, jak to zrobić, ale natknąłem się na to pytanie wcześniej (byłeś powiązany z kilkoma osobami zadającymi to samo pytanie) i nigdy nie widziałem, aby ktoś mówił "Mam to do roboty" chyba że zbudowali rozszerzenie. – DaveRandom
@ThorstenDittmar 'CLSID' jest ciągiem znaków alfanumerycznych o następującym formacie XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. Co masz na myśli przez bibliotekę DLL gotową na współdziałanie COM –