WSL #33:PHPからの書き込みでPermission denied


環境

■ WSLバージョン:
WSL バージョン: 2.3.24.0
カーネル バージョン: 5.15.153.1-2
WSLg バージョン: 1.0.65
MSRDC バージョン: 1.2.5620
Direct3D バージョン: 1.611.1-81528511
DXCore バージョン: 10.0.26100.1-240331-1435.ge-release
Windows バージョン: 10.0.22631.4317

■ Ubuntuバージョン:
Distributor ID: Ubuntu
Description: Ubuntu 24.04.1 LTS
Release: 24.04
Codename: noble

WSL+Ubuntu+Docker上のPHPからの書き込みでPermission deniedとなる

過去記事「WSL #32:Docker上にPHP環境を作る」で構築したphp環境で、とあるサイトのソースを動かしたところ
エラーが発生した。
Fatal error: Uncaught UnexpectedValueException: The stream or file "/var/www/html/log/xxx.log" could not be opened: Failed to open stream: Permission denied in ・・・

永続化した /var/www/htmlに書き込み権限が無いらしい。
コンテナに接続し権限を付与する。
LinuxでDockerを動かすとたまに発生するらしい。(ホストとコンテナのUID/GID不一致?)

■ コンテナへbash接続
      sudo docker exec -it php /bin/bash
    
※ 過去記事「Docker #19:起動中コンテナのbash起動」参照

■ 権限付与
      chmod 755 /var/www/html/log
    
※ 過去記事「Linux:chmodコマンド」参照

これでエラーは無くなった。


WSL, WSL2, Windows Subsystem for Linux, Docker, Container, PHP

0 件のコメント:

その他の記事