ホスティングパーティからvpsサーバーを注文しました。これはPlesk11を搭載したCentOSです。サーバーにZendアプリケーションをインストールしたばかりですが、エラーログに次のように表示されます。
[Mon Apr 15 20:48:28 2013] [warn] [client 94.210.222.87] mod_fcgid: stderr: PHP Fatal error: Uncaught exception 'Zend_Session_Exception' with message 'Zend_Session::start() - /var/www/vhosts/ontwerp.doedels.eu/httpdocs/mvc/libraries/Zend/Session.php(Line:469): Error #2 session_start(): open(/var/www/vhosts/ontwerp.doedels.eu/tmp/sess_t2orkniqjn9rsn9m84d2clsdd1, O_RDWR) failed: Permission denied (13) Array
[Mon Apr 15 20:48:28 2013] [warn] [client 94.210.222.87] mod_fcgid: stderr: /var/www/vhosts/ontwerp.doedels.eu/httpdocs/mvc/libraries/Zend/Session.php(Line:479): Error #2 session_write_close(): open(/var/www/vhosts/ontwerp.doedels.eu/tmp/sess_t2orkniqjn9rsn9m84d2clsdd1, O_RDWR) failed: Permission denied (13) Array
[Mon Apr 15 20:48:28 2013] [warn] [client 94.210.222.87] mod_fcgid: stderr: /var/www/vhosts/ontwerp.doedels.eu/httpdocs/mvc/libraries/Zend/Session.php(Line:479): Error #2 session_write_close(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/www/vhosts/ontwerp.doedels.eu/tmp) Array' in /var/www/vhosts/ontwerp.doedels.eu/httpdocs/mvc/libraries/Zend/Session.php:482
これまでに何を試しましたか? session.save_pathを{DOCUMENTROOT}/tmpおよび{WEBSPACEROOT}/tmpに設定しようとしましたが、これは機能しないようです。
Phpinfo関数は、session.save_path =/var/www/vhosts/ontwerp.doedels.eu/tmpが適切なフォルダーであることを示しています。パスが存在し、フォルダーには777CHMOD権限があります。
回避策 session.save_path = {WEBSPACEROOT}/private/sessを設定すると機能するようです。これは、777 chmod権限で作成したフォルダーですが、永続的な解決策ではないようです。サブスクリプションごとにこのフォルダを作成する必要があるためです。
私は確かに何を知っていますか?
Varディレクトリの権限を設定する必要があります。それが問題のようです。
セッションフォルダのデフォルトの所有権が正しくない可能性があります。例; AmazonLinuxのphp-fpm7.0のデフォルトはApacheユーザーです。 nginxまたはその他を使用している場合は、フォルダーの所有権を切り替える必要があります。また、メモとして、www.confのユーザー/グループ設定を変更する必要があります。
chown -R root:nginx /var/lib/php/7.0/
sed -i 's/Apache/nginx/g' /etc/php-fpm-7.0.d/www.conf
service php-fpm-7.0 restart