I have a PHP website with a backend batch/CRON job that runs ever so often and processes photos. The web and database servers and RAID storage are Fedora 14 boxes and the photo software runs in a Windows 7 VirtualBox on the storage server.
The storage array is loaded as a shared folder and shows up as E:\ under Network Locations.
The PHP exec command runs every minute via PHP-CLI looks like this:
exec("C:\\service\\photo_edit.exe --input-file E:\\photos\\photo_example.jpg --effect crossprocess --output-file E:\\photos\\user\\finished_example.jpg")
Running the command directly in the command line works. The thing is, PHP can't seem to use E:\ at all, even though I can access it through the Command Prompt. I also have to keep Windows in a VirtualBox because I have more services that edit files and run in Linux.
I need PHP to be able to work with these files on the web storage inside Windows.
Does PHP have permission to access
E:\
? Just remember that when you run the command, you're probably an Administrator. PHP, on the other hand, is likely running with lower privileges.It isn't a permissions issue. Network shares mapped to a drive letter are a per-user setting. The user Apache runs as does not have that share mapped as
E:
.Alternatives include:
\\vboxsvr\whatever