Pocket

PHPのフレームワークであるCodeigniterを触る機会があったので、以下のようなエラーに遭遇しました。

Unable create file session/ci_session7990989waoooo because No such file or directory

とりあえずセッションファイルがないということがエラーで判断できる。
ということでセッションファイル全消ししてみたがm挙動が変わらなかったので対処法をブログしやす。


■Environment

  • CentOS7.5.1804 (Core)
  • PHP 5.6.37
  • Codeigniter 3.0.1 

■file session driver have a problem about path. #3664

https://github.com/bcit-ci/CodeIgniter/issues/3664

$this->_config[‘save_path’] must be absolute path. if first char is not ‘/’. must add FCPATH.

セッションパスは絶対パスで書く必要があるとのこと!!!


■config.php

アプリケーションのconfigファイルにセッションを設定する箇所があります。
sess_save_pathがNULLの場合はphp.iniの「session.save_path」に従って保存されます。
今回は絶対パスをぶち込みましょう!

・php-fpm restart


■まとめ

Codeigniterは軽量で速度重視のための動的Webサイトでよく使われるフレームワークだそうだ。
ちなみにPHP7系ではセッションはMySQLやらRedisで管理するほうが望ましいみたい。

http://codeigniter.jp/user_guide/3/libraries/sessions.html#id18

Pocket

カテゴリー: CodeigniterPHP

adachin

1989年生まれのSRE。ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、オブザーバビリティ、緊急対応、AWS/Azureでのインフラ構築、Docker開発環境の提供、Kubernetes保守、インフラコード化、新技術の検証、リファクタリング、セキュリティ強化などを担当している。個人事業主では数社サーバー保守とベンチャー企業のSREインフラコンサルティングやMENTAで未経験者にインフラのコーチング/コミュニティの運用を実施している。また、「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。

0件のコメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください