WordPress 3.2 をバージョンアップ時の TinyMCE 不具合の解消
昨日、WordPressを現在の最新版である、3.2へのバージョンアップして当方の環境で不具合が発生した件をご報告しました。
その不具合を修正するために原因を調べていた。
その結果どうやらファイルのパーミッションによる読み込みエラーによるものということがわかりました。
これは当サーバー環境によって発生した事象であることが強いことが考えられます。
読み出せなかったファイルのパーミッションは「 600 」つまり、ファイルオーナー読み書き以外のアクセスは不可能となります。
当サーバーでは、セキュリティと管理のためにsuphpが稼働しています。
バーチャルホスト内のphp実行は指定されたユーザーで実行されます。
そのためphpで出力されたファイルオーナーはWordPressの実行ユーザーということになります。
ApacheはWordPressの実行ユーザーとは異なったユーザーで稼働しています。
suphpが実行されているホスト内でも、画像ファイルなどのphp以外のファイルはApacheユーザーが取得することになります。
そのときApacheは、WordPress実行ユーザーにしたアクセス権限の無いファイルを読み込もうとしてエラーが発生してしまっていました。
改善は簡単で、FTPでもSSHでも読み込めないファイルのパーミッションなどを「644」に変更してあげるだけです。
SSHが使える方は、
WordPress のドキュメントルートにカレントディレクトリを移して
find . -type f -perm 600 |
これで、パーミッションが 600 のファイルが出て来ます。
その中から必要なファイルのパーミッションを変えてください。
僕の場合、おおむねTinyMCEの画像ファイルなどがヒットしました。
WordPressのファイルなどはほとんど問題がなかったので、TinyMCEのパッケージと僕の環境によって発生した事象ではないかと思います。
無事、TinyMCEのボタンも表示されました。
関連のありそうなエントリ