我可以在azure网站上写入文件系统吗?例如,从仪表板更新或安装Wordpress中的插件/主题。 AFAIK,在Heroku上是不可能的,那么Azure网站呢?
答案 0 :(得分:33)
当然可以在Azure网站的文件系统上编写。但是,您的写入权限仅限于应用程序的根文件夹。因此,如果您使用ASP.NET,您将能够在Server.MapPath("~/from_here_on")
内的任何位置进行编写。这意味着您将能够对位于应用程序根文件夹及其下方的文件执行读/写/删除操作。如果使用PHP,则可以从$_SERVER['DOCUMENT_ROOT']
环境变量获取根文件夹。
Web应用程序不需要更多权限。肯定无法写入操作系统文件夹。
答案 1 :(得分:4)
如果有人在编写时遇到could not find a part of the path ...
错误,则作为附加信息:确保部署您正在编写的文件夹。在我的例子中,它是一个空的临时目录,在部署期间被跳过。
答案 2 :(得分:2)
我提议使用blobs容器来存储必须持久保存的永久内容,而不管虚拟机重新初始化或升级。
答案 3 :(得分:1)
据我了解,您可以在azure web角色上写入驱动器,但问题是Web角色可以有多个实例,因此将文件放在您连接的任何节点上也不会将其放在其他节点以及当该实例被回收时,它会返回到Web角色的原始图像,因此您将丢失该文件。
但是,至少根据本文可以跨Azure Web角色节点的实例共享驱动器,然后您可以在网站下设置指向此共享驱动器的虚拟文件夹,并将其用于媒体存储。
我自己还没有尝试过,但在搜索如何操作时遇到了这个问题。
答案 4 :(得分:0)
我认为Azure Web应用程序的限制越来越严格,但是I was able to write to %TMP% (D:\local\Temp)
答案 5 :(得分:-6)
如果您在Azure网站上询问C:\驱动器或D:\驱动器访问权限,则答案是否定的。您无法在Azure网站上以这种方式访问文件系统。如果磁盘是Web角色(云服务)或虚拟机,则可以访问该磁盘。
但是,正如您可能已经知道的那样,您可以使用Wordpress管理工具本身来编辑插件代码。