VirtualBox Windows-guest共享文件夹上的PHP权限

时间:2013-02-05 15:26:43

标签: php windows batch-file virtualbox

我有一个PHP网站,后端批处理/ CRON作业经常运行并处理照片。 Web和数据库服务器以及RAID存储是Fedora 14盒子,照片软件在存储服务器上的Windows 7 VirtualBox中运行。

存储阵列作为共享文件夹加载,并在网络位置下显示为E:\。

PHP exec命令每分钟都通过PHP-CLI运行,如下所示:

exec("C:\\service\\photo_edit.exe --input-file E:\\photos\\photo_example.jpg --effect crossprocess --output-file E:\\photos\\user\\finished_example.jpg")

直接在命令行中运行命令。问题是,PHP似乎无法使用E:\,即使我可以通过命令提示符访问它。我还必须将Windows保留在VirtualBox中,因为我有更多的服务可以编辑文件并在Linux中运行。

我需要PHP才能在Windows内部的Web存储上使用这些文件。

2 个答案:

答案 0 :(得分:1)

这不是权限问题。映射到驱动器号的网络共享是每用户设置。 Apache运行的用户没有将该共享映射为E:

替代方案包括:

  1. 使用UNC语法:\\vboxsvr\whatever
  2. 映射当前Apache用户的驱动器(LOCAL_SYSTEM?) - Does not seem possible
  3. 将Apache服务运行的用户更改为

答案 1 :(得分:0)

PHP是否有权访问E:\?请记住,当您运行该命令时,您可能是一名管理员。另一方面,PHP可能以较低的权限运行。