私はCakePHP 2アプリをコンテナの中で実行しようとしています。私はすべてのセットアップがあり、PHPは正常に動作しますが、1つの問題があります。/ var/www/app/tmpに不正な書き込み権限があります。このディレクトリはボリュームからロードされていますボリュームのdirのchmodを変更してください。
0
A
答えて
0
あなたはすでにCakePHP2.0ドキュメントを見ましたか?おそらく便利です:
よくある問題は、app/tmpディレクトリとサブディレクトリがWebサーバーとコマンドラインユーザーの両方によって書き込み可能でなければならないことです。
HTTPDUSER=`ps aux | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\ -f1`
setfacl -R -m u:${HTTPDUSER}:rwx app/tmp
setfacl -R -d -m u:${HTTPDUSER}:rwx app/tmp
出典:https://book.cakephp.org/2.0/en/installation.html#permissions
UNIXシステムでは、Webサーバーのユーザーが、コマンドラインユーザーと異なる場合は、アクセス権が適切に設定されることを保証するために、プロジェクト内に一度だけ、次のコマンドを実行することができます
0
これは、コンテナのパススルーを介してPHPを実行している場合には、これが多く発生します。このシナリオでは、事前定義された権限を持つディレクトリにアプリケーションを渡しています。あなたがしなければならないことは、定期的にコンテナからウェブサーバへのアクセス権が更新されていることを確認することです。さんがあなたのコンテナがウェブ
ドッキングウィンドウのexecウェブのchown -R WWW-データ/ var/www/htmlと設定
(/ var/www/htmlと設定コードが存在するどこに置き換えられる)
のために呼ばれているとしましょう例。これにより、コンテナ内で完璧に動作するようになりますが、Linuxを使用している場合は、実際にホストOSからのデータにアクセスする際に問題が発生する可能性があります。ボリュームのファイル自体がホストOSにはないユーザーIDに更新されているため、LaravelとPHPでホストからのボリュームパススルーを使用してこの問題を何度か繰り返しました。
関連する問題
- 1. 特定のユーザのPHPファイルのCHMODを変更してください
- 2. ユーザエージェントを変更してください
- 3. ラスタエクステントを変更してください
- 4. org.eclipse.jdt.core.dom.ASTPArserを変更してください
- 5. ServiceStack:DefaultNoProfileImgUrlを変更してください
- 6. SystemParametersを変更してください
- 7. ステータスコードを変更してください。
- 8. ftp_site()はフォルダのCHMODを変更したくない
- 9. gtk_render_lineの線の太さを変更してください
- 10. セシウムイメージャのレベルをより速く変更してください。
- 11. NHibernateを変更しないWebドロップダウンリストのIlistを変更してください
- 12. ループ内の変数名を変更してください
- 13. 変数をtkinterのボタンで変更してください
- 14. MainActivityの変数をBaseActivityから変更してください
- 15. SESSION変数の値を変更してください
- 16. TextViewの色を変更してから変更してください。
- 17. スナックバーの高さを変更してください
- 18. ui.bootstrap.alertの高さを変更してください
- 19. CSSのデフォルトリンクの色のみを変更してください。
- 20. 他のラジオボタンのラジオボタンの値を変更してください
- 21. すべてのURLでサーバーを変更してください
- 22. ラジオボタンの変更時にクラスと変数を変更してください。
- 23. ラジオボタンを変更し、クリックしてスタイルを変更してください。
- 24. ブートストラップカルーセルの矢印の色を変更してください
- 25. MainActivity.javaのcontent_main.xmlのTextViewを変更してください
- 26. ザブートカレンダーのバッジの色を変更してください
- 27. Drupalのパブリッシュノードのオーナーを変更してください
- 28. EclipseのSVNリポジトリの場所を変更してください
- 29. git-tfsリポジトリのデフォルトのリモートを変更してください
- 30. bash(Ubuntu)のvirtualenvの色を変更してください
コンテナの意味では、コマンドラインユーザーはいません。コンテナにはルートのみが存在します。これは実際のオーバーレイプロセスと関係しています。 – Dockstar