私は現在、私の会社のWebアプリケーションの問題に苦しんでいます。実稼働環境では、あるアプリケーションで別のアプリケーションでセッションが発生しているときに、そのアプリケーションでセッションを作成できないという問題があります。私はかなり問題を絞り込んだが、私はまだ解決策を見つけるべきではない。PHPでの開かれたセッション
-rw------- 1 app1 www-data 0 Apr 20 10:43 sess_5tqsb9cbohto3anslkfiqm9uq6
-rw------- 1 app1 www-data 0 Apr 20 10:41 sess_8ecc8s1ipbb0h1l4b342nfqph2
-rw------- 1 app1 www-data 0 Apr 20 10:43 sess_9b5irh24v059o24c814tf3jol4
-rw------- 1 app1 www-data 0 Apr 20 10:43 sess_velp2nf8jcst5dhe358bciq8b6
が「APP1」PHPにユーザーがログインが「APP1」などとのセッションを作成する場合:
PHP message: PHP Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct() in Unknown on line 0" while reading upstream, client: 80.113.209.4, server: example.com, request: "GET /api/config/routes?route=%2Fauth%2Flogin HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm/example.com.sock:", host: "example.com", referrer: "https://example.com/auth/login"
は、今私は、私は物事が間違って行く場所を確認するために始めています/ tmpディレクトリに移動するときオーナー。しかし、私が "app2"にログインしようとすると、すでにセッションがあり、それを開こうとしています。 "app2"には "app1"のセッションを読み書きする権限がないので、これは明らかに機能しません。
唯一の奇妙なことは、これはMacBookでのみ起こるということです。自分のLinuxマシン上の両方のアプリケーションにログインしようとすると、ユーザー "app2"との別のセッションが開かれます。
私はnginxとphp-fpmでphp5を実行しています。私はphpにnginxを接続するためにPHPソケットを使用します。どちらのアプリケーションも独自のソケットを持ち、異なるユーザー "app1"と "app2"の下で実行されます。したがって、セッションの所有者は、ログインするアプリケーションによって異なります。
誰もがなぜphpがmacbooksに同じセッションを使用しようとしているのですが、WindowsおよびLinuxマシン用に新しいセッションを作成するのですか?そして、私はこの問題をどのように解決するのでしょうか?
編集: 可能な解決策は、セッションファイルのWWW-データ所有者を作ることであろうが、私はむしろ、これらのファイルの所有者である専用のユーザーを持っていると思います。したがって、解決策が評価されます。問題の解決策がなければ、私はwww-データ所有者と一緒に行く必要があります。
可能な複製http://stackoverflow.com/questions/13584628/session-start-not-working-on-macまたはhttp://stackoverflow.com/questions/4585086/how-can-i-fix-セッションの開始時にエラーが発生しました。 –
本当に重複しているわけではありません。/ tmpへの書き込み権限があることはわかります。それは、LinuxとWindowsが新しいセッションファイルを取得するということです。 。 –