이 글에서는 C#으로 개발된 DLL 클래스 라이브러리를 PHP가 호출하는 방법을 주로 소개하며, 완전하고 상세한 DLL 제작 단계와 PHP 호출 방법이 필요한 친구들이 참고할 수 있습니다.
C#으로 작성된 dll과 같이 PHP에서 다른 언어로 작성된 dll 라이브러리를 사용해야 하는 경우가 있습니다. 호출하기 전에 dll 라이브러리를 호출해야 합니다. 등록되고 어셈블리가 전역 캐시에 배치됩니다.
1. C# 클래스 라이브러리를 만들고 이름을 HelloWorld로 지정합니다
2. 프로젝트 속성을 열고 왼쪽(첫 번째 탭)에서 "Application"을 클릭한 다음 Assembly Information 버튼을 클릭합니다. , 팝업 대화 상자에서 하단에서 확인해야 합니다: 어셈블리를 COM으로 표시합니다! 그렇지 않으면 이 dll은 COM 모드에서 액세스할 수 없습니다. 동일한 효과를 갖는 코드는 System.Runtime.InteropServices를 사용하여 추가해야 합니다. 참조)
3. vs.net의 "Vsitual Studio .Net 도구"-->Vistual Studio .Net 명령 프롬프트를 사용하여 sn -k d:HelloWorld.snk를 입력하고 Enter 키를 눌러 강력한 이름의 서명 파일을 만듭니다.
프로젝트 속성을 열고, 왼쪽에서 서명을 클릭하고 강력한 이름 키 파일 선택에서 어셈블리 서명을 선택합니다. 방금 생성한 HelloWorld.snk 파일을 선택합니다.
4. 클래스 라이브러리를 만들어 dll로 컴파일합니다
코드는 다음과 같습니다.namespace HelloWorld
{ //[ ComVisible(true)] //또는 Application-Assembly_Information 대화 상자에서 "Assembly COM-Visible"을 확인합니다.
public class Hello
{
public string Write()
{
return "Hello World "; 🎜>
5. dll 폴더 경로를 찾은 다음 vs.net의 “Vsitual Studio .Net Tool” -->Vistual Studio .Net 명령 프롬프트
를 사용하여 dll 폴더를 입력하고 Enter:
이때 .net 어셈블리는 이 .dll은 표준 Com 구성 요소를 사용할 수 있지만 아직 사용할 수 없습니다. 전역 Com 구성 요소로 전환해야 합니다. 전역 어셈블리 캐시에 어셈블리를 추가합니다. 프롬프트 창에 들어가서 다음을 입력합니다. :
코드 복사
코드는 다음과 같습니다.
gacutil /I HelloWorld.dll
여기서 그러면 dll이 전역 어셈블리 캐시에 복사됩니다. 즉, 이 dll 구성 요소는 이 컴퓨터에 있는 하드 디스크에 관계없이 사용할 수 있습니다. 강력한 이름 지정 서명이 수행되지 않으면 이 단계에서는 로드 오류가 발생합니다.
코드 복사
코드는 다음과 같습니다.
$r =new Com("HelloWorld.Hello");
$s=$r->Write() echo $s;>
명령 프롬프트:
코드 복사
코드는 다음과 같습니다:
원본 텍스트 재현: http://www.jb51.net/article/52846.htm
위 내용은 C#에서 개발한 dll 클래스 라이브러리를 PHP가 호출하는 방법을 소개하고 있으며, 관련 내용도 포함되어 있어 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.