This week's book giveaway is in the Jobs Discussion forum.
We're giving away four copies of Java Interview Guide and have Anthony DePalma on-line!
See this thread for details.
The moose likes PHP and the fly likes Call .DLL functions from PHP5? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Java Interview Guide this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Languages » PHP
Bookmark "Call .DLL functions from PHP5?" Watch "Call .DLL functions from PHP5?" New topic

Call .DLL functions from PHP5?

Justin Fox
Ranch Hand

Joined: Jan 24, 2006
Posts: 802
I've written a series of class libraries using .NET that parse websites and store the information in classes.

I would really hate to have to convert that code to php now that we have decided to go php on a linux system.

Is there a way to use my DLL's functions and class objects from php, on a Linux OS?



You down with OOP? Yeah you know me!
Karthik Shiraly

Joined: Apr 04, 2009
Posts: 874

If it uses .NET, then it's a DLL only by file extension, but internally it's a .NET assembly containing .NET CIL and requires a .NET runtime.
I don't think there's any easy way to use it as is on a Linux system.
A .NET compatible runtime named Mono exists for linux systems, but I haven't tried it out. You may want to look at that first.

An option to explore is source code conversion tools - C# to PHP, or C# to C++ to PHP. But I suspect, it won't be simple if you're using .NET class libraries.

Is the interface to that class library very verbose, or is it minimal and simple?
If it's minimal, then the least effort way to use it is to introduce a web service adaptor for that simple interface, deploy it in a windows machine (can be a virtual machine on that same linux system if you're using a single linux system)
and talk to it as a regular http web service via query params and receive XML or JSON or some textual representation that PHP can parse easily. There may be a performance penalty though, due to all that network traffic.

If it's a verbose interface, then tough luck - because writing a web service adaptor for it may become as cumbersome as rewriting all that logic in PHP.
Justin Fox
Ranch Hand

Joined: Jan 24, 2006
Posts: 802
Yeah I've been looking around and figured I'll either just go with ASP.Net or rewrite API in PHP and go that way.

Thanks for the explanation : )

I agree. Here's the link:
subject: Call .DLL functions from PHP5?
It's not a secret anymore!