Azure Webサイトのファイルシステムに書き込むことはできますか?たとえば、ダッシュボードからWordpressのプラグイン/テーマを更新またはインストールします。AFAIK、Herokuでは不可能ですが、Azure Webサイトについてはどうでしょうか?
6 に答える
確かに、AzureWebサイトのファイルシステムに書き込むことは可能です。ただし、書き込み権限はアプリのルートフォルダーに制限されています。したがって、ASP.NETを使用する場合は、内のどこにでも書き込むことができますServer.MapPath("~/from_here_on")
。つまり、アプリのルートフォルダ以下にあるファイルに対して読み取り/書き込み/削除操作を実行できる必要があります。PHPを使用する場合、ルートフォルダは$_SERVER['DOCUMENT_ROOT']
環境変数から取得できます。
また、Webアプリケーションはそれ以上の特権を必要としません。確かにオペレーティングシステムのフォルダに書き込むことはできません。
書き込み中に誰かがエラーに遭遇した場合の追加情報と同様に、could not find a part of the path ...
書き込み先のフォルダーがデプロイされていることを確認してください。私の場合、それは展開中にスキップされた空の一時ディレクトリでした。
代わりにblobコンテナーを使用して、仮想マシンの再初期化やアップグレードに関係なく永続化する必要のある永続的なコンテンツを格納することを提案します。
私が理解している限り、Azure Webロールでドライブに書き込むことができますが、問題は、Webロールが複数のインスタンスを持つ可能性があるため、接続しているノードにファイルを配置しても、他のノードには配置されないことです。そのインスタンスがリサイクルされると、Webロールの元のイメージに戻るため、ファイルが失われます。
ただし、少なくともこの記事に従って、Azure Webロールノードのインスタンス間でドライブを共有することは可能です。その後、この共有ドライブを指すWebサイトの下に仮想フォルダーをセットアップし、それをメディアストレージに使用できます。
私はまだそれを試していませんが、それを行う方法を探しているときにこの質問に出くわしました。
HOME
%HOME% / $HOME
Azure App Servicesの環境変数の場所( )に書き込むことができます。Kuduまたはアプリサービスのコンソールを使用して、このディレクトリにcdし、探索することができます。
Azure WebサイトでC:\ドライブまたはD:\ドライブへのアクセスについて質問している場合、答えはノーです。Azure Webサイトでは、この方法でファイルシステムにアクセスすることはできません。ディスクがWebロール(クラウドサービス)または仮想マシンの場合は、ディスクにアクセスできます。
ただし、すでにご存知かもしれませんが、Wordpress管理ツール自体を使用してプラグインコードを編集できます。