如果在AWS Lightsail上的WordPress(bitnami)上遇到 “failed to open stream: Permission denied” 的错误情况

发生在什么样的环境里

    • AWS-LightsailでWordPress(bitnami)を使っていた

 

    • テストサーバーで構築していたWPのファイル一式を、本番環境(AWS-Lightsail)へ移行した(ファイル一式をFTPクライアント経由で上書きアップロード)

WordPress の更新をした際に、下記のエラーが表示された(更新が出来なかった)

警告:复制(/opt/bitnami/wordpress/wp-content/languages/ja-******.json)失败,无法打开流:权限被拒绝,在/opt/bitnami/wordpress/wp-admin/includes/class-wp-filesystem-direct.php的第309行。

警告:chmod():无法执行操作,在/opt/bitnami/wordpress/wp-admin/includes/class-wp-filesystem-direct.php的第173行。

解决方法:重新设置权限。

    • bitnamiは、各ファイル・各ディレクトリのパーミッションを厳格に定めているようです

 

    参考サイト:bitnami:Understand WordPress Filesystem Permissions(WordPressのファイルシステムパーミッションの理解)

文件和目录的所有者是用户bitnami和组daemon。
目录的默认权限设置为775。
文件的默认权限设置为664。
wp-config.php文件的权限设置为640。

确认目录位置

image.png
    • 2021年12月現在、bitnamiのWordPressは、ディレクトリが2箇所に分かれて配置されています。

 

    • WordPress本体部は/opt/bitnami/wordpress/にあります。

 

    ユーザーが触りそうなファイルなどは/bitnami/wordpress/にあります。

修改权限

    今回は、ファイルwp-config.phpおよびディレクトリwp-contentのパーミッションの一括変更を記します。
$ cd /bitnami  # ディレクトリ[bitnami]へ移動

$ sudo chown -R bitnami:daemon wordpress  # ディレクトリ[wordpress]以下の所有者:グループを一括変更

$ sudo find wordpress -type d -exec chmod 775 {} \;  # ディレクトリ[wordpress]以下のディレクトリのパーミッションを775へ一括変更

$ sudo find wordpress -type f -exec chmod 664 {} \;  # ディレクトリ[wordpress]以下のファイルのパーミッションを664へ一括変更

$ sudo chmod 640 wordpress/wp-config.php  # ファイル[wp-config.php]のパーミッションを640へ変更
image.png

我已经解决了这个问题(现在可以无错误地更新WordPress了)。

调查:为什么会发生这种局面

    • ディレクトリwp-content/plugins以下、あるプラグインの一部ディレクトリのパーミッションが755になっておりました。

 

    • テスト環境においてのプラグインのインストールの仕方がまずかったのか、それとも本番環境へのアップロードの仕方が悪かったのか…

 

    パーミッション問題とか所有者問題とか…引っかかると面倒ですよね…

如果能對某人有所幫助,我會感到幸福。

广告
将在 10 秒后关闭
bannerAds