UbuntuのlocalhostでHTMLとPHPを使用してデータを保存しようとしています。 HTMLとPHPファイルはうまく機能していますが、コマンドを使用してlocalhostでファイルを開くときは
$myfile = fopen("testfile.txt", "w")
それを作成することはできませんが、PHPファイルは機能しており、PHPから変数を出力するコマンドで設定するとうまく機能します。
PHPがlocalhost UbuntuのApacheでファイルを作成することを許可する方法。
Apacheユーザー(通常はwww-data
)がそのディレクトリにファイルを作成できるようにする必要があります。これは、Apacheをディレクトリの所有者にすることで実現できます。たとえば、ディレクトリがmy-dir
と呼ばれる場合、ターミナルを開いてこれを実行します。
Sudo chown www-data my-dir
ディレクトリだけでなく、そのディレクトリ内のすべてのフォルダとファイルを変更する場合は、-Rを次のように追加します
Sudo chown -R www-data my-dir
apache2 Ubuntuのデフォルトページに記載されているとおり:デフォルトでは、Ubuntuは/ var/www ...にあるファイル以外のファイルへのWebブラウザーを介したアクセスを許可しません。これは、書き込みたいディレクトリまたはファイルが/ var/wwwの下になければならないことを意味します。自分でこの情報を見逃し、/ tmpなどに書き込もうとしてしばらく髪を引っ張った。