PHP shell_exec没有';无法在Windows Azure中工作


PHP shell_exec doesn't work in Windows Azure

我们需要在远程Windows Azure Server中执行.exe文件。

我们用shell_exec从PHP调用它。.exe应该在服务器的两个不同文件夹中创建新文件,并在数据库中生成数据项并返回一个字符串,但它不起作用。

我们在使用windows7Enterprise和iis7的本地服务器上执行它没有任何问题。这就是为什么我们认为这可能是权限问题,然后我们创建了一个.user.ini文件,其中包含以下内容:

safe_mode=关闭
safe_mode_exec_dir=off

不幸的是,它也不起作用。

有什么建议吗?提前谢谢。

您很可能正在使用Windows Azure网站。这是一个安全性更高的高密度共享主机。如果你需要shell_exec之类的东西,你应该转到Windows Azure云服务(Web角色),在那里你可以完全控制操作系统和Web服务器/php设置。

使用云服务,您将能够使用shell_exec。然而,当你转向云服务时,你已经开始考虑将文件保存在Azure Blob存储中,因为云服务的本地存储是:

  • 不持久
  • 未在角色实例之间同步

如果你还不知道RoleRole Instance是什么,或者有点困惑,请阅读这篇文章。