Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Apache网站能否在程序集中调用asp.net函数?_Php_Asp.net_Apache_.net Core - Fatal编程技术网

Php Apache网站能否在程序集中调用asp.net函数?

Php Apache网站能否在程序集中调用asp.net函数?,php,asp.net,apache,.net-core,Php,Asp.net,Apache,.net Core,我有一个窗口框,它托管一个运行PHP web应用程序的Apache web服务器。现在,我从另一个项目中获得了asp.net类库dll(汇编),并希望从PHP应用程序中调用dll的一些函数。你能告诉我有多少种选择吗 以下是我的想法,但不确定它们是否可行: 将IIS web服务器与Apache服务器并排放置在同一个框中,IIS服务器运行一个包装dll的web服务。(两台服务器之间是否存在冲突,如端口号等?) 将.net dll(4.5版)转换为Asp.net核心库并设置 一个web服务)直接并排在

我有一个窗口框,它托管一个运行PHP web应用程序的Apache web服务器。现在,我从另一个项目中获得了asp.net类库dll(汇编),并希望从PHP应用程序中调用dll的一些函数。你能告诉我有多少种选择吗

以下是我的想法,但不确定它们是否可行:

  • 将IIS web服务器与Apache服务器并排放置在同一个框中,IIS服务器运行一个包装dll的web服务。(两台服务器之间是否存在冲突,如端口号等?)
  • 将.net dll(4.5版)转换为Asp.net核心库并设置
    一个web服务)直接并排在Apache服务器下的PHP站点上(我将如何做,有没有指南供我遵循?)
  • 由于Apache托管在一个窗口框中,因此有一种方法可以让PHP代码直接访问dll或通过包装器访问dll(有一个bin文件夹或某个区域可以将dll放入其中并调用)

  • 如果有多种方法,哪种方法听起来更简单?提前谢谢你

    您可以尝试在PHP7.4中使用外部函数接口(FFI)。下一个最简单的方法是将DLL封装在CGI程序中,并转发来自Apache的请求。@Alex Barker。.net程序集是否适合FFI?你有一个例子吗?从这里开始,“它说”所有能够编译成共享库的语言(SO)都没有系统地绑定到PHP。最好使用没有运行时的语言(C/C++ + DRIOS/…),因为运行时可能会有副作用。使用检查DLL并查看是否已解析所有符号。我没有任何外国金融机构的例子,但有如何指导那里。无论使用何种语言,所有共享库代码都应该大致相同。net确实可以与其他FFI接口配合使用,因此,除非您正在进行有线连接,否则我希望它可能可以正常工作。