"Failed to write session data (files). Please verify that the current setting of session.save_path is correct" というエラーが発生します

Created:

2016-11-16 13:03:21 UTC

Modified:

2017-08-16 16:13:50 UTC

7

Was this article helpful?


Have more questions?

リクエストを送信

"Failed to write session data (files). Please verify that the current setting of session.save_path is correct" というエラーが発生します

Applicable to:

  • Plesk 12.5 for Linux
  • Plesk 12.0 for Linux

症状

Plesk 12.5 へのアップグレード後に、ウェブサイトに対して Apache error_log に以下のエラーが記録されます。

# tail -f /opt/www/vhost/system/example.com/logs/error_log
...
mod_fcgid: stderr: PHP Warning: session_start(): open(/var/lib/php/sessions/sess_g0u8u3b1j8t98v0jpjmh0gmp84, O_RDWR) failed: No such file or directory (2) in /opt/www/vhost/example.com/httpdocs/wp-content/plugins/custom-sidebars/inc/external/wpmu-lib/inc/class-thelib.php on line 114, referer: http://example.com/
...
mod_fcgid: stderr: PHP Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/sessions) in Unknown on line 0

原因

php セッションパスが正しく設定されていないか、ディレクトリが存在しません。

解決策

  1. php 構成に session.save_path が設定されていることを確認します。

    grep session.save_path /etc/php5/apache2/php.ini
    session.save_path=/var/lib/php/sessions
  2. ディレクトリが存在し、適切なパーミッションが設定されていることを確認します。

    #stat /var/lib/php/sessions

    File: "/var/lib/php/sessions"
    Size: 389120 Blocks: 768 IO Block: 4096 каталог
    Device: 806h/2054d Inode: 273014 Links: 2
    Access: (1733/drwx-wx-wt) Uid: ( 0/ root) Gid: ( 0/ root)
  3. ディレクトリが存在しなければ作成し、有効なパーミッションを設定します。

    # mkdir -p /var/lib/php/sessions && chmod 1733 /var/lib/php/sessions

注:

  • Ubuntu または Debian マシンの場合、 session.save_path が設定されていなければ、セッションファイルは /var/lib/php5 に保存されます。

  • RHEL および CentOS システムの場合、 session.save_path が設定されていなければ、セッションファイルは /var/lib/php/session に保存されます。

他にご質問がございましたら、リクエストを送信してください
ログインしてコメントを残してください。