I need to run a windows command line tool from a php script on my Debian server. For that, I'm trying Wine. Invoking wine and the tool via terminal works fine: "$ wine tool.exe"
But when running the same from my php script...
exec("wine tool.exe");
...I get the following in my Apache error log: wine: '/var/www' is not owned by you, refusing to create a configuration directory there
I guess this is a simple fundamental linux user rights problem... Should I change the user rights for Wine to www-data? How?
You should create a separate home directory for running Wine. Create a directory which is owned by www-data, set the HOME variable, su www-data, and run winecfg once; then run tool.exe (as that user). In the exec call, make sure that HOME is set (try exec("HOME=/tmp/wine wine tool.exe")
)