HI Sören,
together with my team, we would like to bring our semantic collaboration platform OntoWiki [1] together with Virtuoso. Many first-time OntoWiki users (and also some developers such as me) use Windows to test-drive (or develop) OntoWiki. Hence, it is a fundamental requirement for us that everything runs smoothly also on Windows. Yesterday, I was trying quite long (and unfortunately unsuccessfully) to get Virtuoso somehow talking to PHP on my Windows machine. I installed the commercial Virtuoso distro.
Since a windows build is a rather tricky build for many, not to mention that not everyone can afford all the developer tools needed, OpenLink provides a zip file with a complete build of VOS, now including also the binary and support libraries for php5 hosting:
http://virtuoso.openlinksw.com/wiki/main/Main/VOSDownload and click on the "there is now a Windows package..." link.
As I understood there are two ways how PHP and Virtuoso can cooperate: (1) run PHP scripts inside Virtuoso, or (2) connect to Virtuoso from PHP by ODBC. Is there anybody, who can explain me how I get one or the other working on Windows? Looks my Virtuoso installation does not directly support PHP - is there a Windows binary to download which does? Which configuration is needed to get it running properly?
Virtuoso has different binaries that support various hosting modes. For your project you should use the virtuoso-odbc-php5-t binary instead of the default virtuoso-odbc-t binary.
This will allow you to host your application either from the filesystem, or from within the database in the DAV tree.
Either of these servers can be used just to store data using the ODBC driver that is provided in the package. So your PHP enabled application can connect using standard odbc_connect calls to the database.
In case I use the second way: which PHP module shall I use - odbc or pdo_odbc? Which configuration parameters of the module have to be set to talk to a local virtuoso instance?
Either should be possible. A typical ODBC entry would have the following settings: [Virtuoso] Driver = /path/to/dll Address = localhost:1111
BTW: I think a Virtuoso PHP module would increase the visibility and popularity of Virtuoso significantly for Web developers ;-)
Since we use established standards like ODBC, JDBC, OleDB and ADO.NET for all our data connectivity, why would we make a separate set of functions to connect from PHP to Virtuoso? This would mean that all PHP applications would need to be rewritten just to use Virtuoso.
BTW If your project needs to interacting with the SPARQL endpoint, you can alternatively also use either REST or SOAP protocol to interact.
Best regards, Patrick --- Patrick van Kleef Maintainer VOS OpenLink Software