10/10/2018, 09:55

Lỗi Session trong cakephp

Các bác ơi cho em hỏi chút.Em đang dùng cakephp để lập trình web theo MVC .Em dùng AppServer v2.5.7 . Em đã tạo một cơ sở dữ liệu và đẫ kết nối vào đó nhưng khi đánh trên trình duyệt thì kết nối đến cơ sở dữ liệu tốt nhưng lại bị lỗi về Session các bác xem đây là lỗi gì giúp em với có thể em chưa cấu hình đúng trong php.ini.

Lỗi đây ạ:
Warning: session_start() [function.session-start]: open(/tmpsess_ea66f905c25fc4dd8ac8f28ed8a19a23, O_RDWR) failed: No such file or directory (2) in C:AppServwwwcakephpcakelibssession.php on line 146

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:AppServwwwcakephpcakelibssession.php:146) in C:AppServwwwcakephpcakelibssession.php on line 146

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:AppServwwwcakephpcakelibssession.php:146) in C:AppServwwwcakephpcakelibssession.php on line 146

Warning: Cannot modify header information - headers already sent by (output started at C:AppServwwwcakephpcakelibssession.php:146) in C:AppServwwwcakephpcakelibssession.php on line 147

phần cuối còn 2 dòng lỗi là:

Warning: Unknown: open(/tmpsess_ea66f905c25fc4dd8ac8f28ed8a19a23, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0

Các bác giúp em với nhé.Đây là lần đầu em dùng cakephp
3do viết 12:09 ngày 10/10/2018
nếu đây là lần đầu thì nên bỏ cakephp đi. Cakephp hỗ trợ php4 và 5, nhưng php4 đã bị khai tử. Dùng symfony đi
anhsaodem_1912 viết 12:01 ngày 10/10/2018
Bác 3do ơi em dùng Appser 2.5.7 nó vẫn hỗ trợ php5 mà. Em nghĩ chắc em chưa cấu hình php.ini đúng thôi.
doangia viết 11:55 ngày 10/10/2018
session.save_path trong php.ini chưa setting đúng thì phải , có lẽ chưa tạo folder tmp
anhsaodem_1912 viết 12:04 ngày 10/10/2018
Các bác có thể nói rõ hơn cho em được không ạ em đã cấu hình trong php.ini như vậy nhưng vẫn không được.

session.save_path = c:\windows\temp

; Whether to use cookies.
session.use_cookies = 1
doangia viết 12:06 ngày 10/10/2018
Được gửi bởi anhsaodem_1912
Các bác ơi cho em hỏi chút.Em đang dùng cakephp để lập trình web theo MVC .Em dùng AppServer v2.5.7 . Em đã tạo một cơ sở dữ liệu và đẫ kết nối vào đó nhưng khi đánh trên trình duyệt thì kết nối đến cơ sở dữ liệu tốt nhưng lại bị lỗi về Session các bác xem đây là lỗi gì giúp em với có thể em chưa cấu hình đúng trong php.ini.

Lỗi đây ạ:
Warning: session_start() [function.session-start]: open(/tmp\sess_ea66f905c25fc4dd8ac8f28ed8a19a23, O_RDWR) failed: No such file or directory (2) in C:\AppServ\www\cakephp\cake\libs\session.php on line 146

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\AppServ\www\cakephp\cake\libs\session.php:146) in C:\AppServ\www\cakephp\cake\libs\session.php on line 146

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\cakephp\cake\libs\session.php:146) in C:\AppServ\www\cakephp\cake\libs\session.php on line 146

Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\cakephp\cake\libs\session.php:146) in C:\AppServ\www\cakephp\cake\libs\session.php on line 147

phần cuối còn 2 dòng lỗi là:

Warning: Unknown:
open(/tmp\sess_ea66f905c25fc4dd8ac8f28ed8a19a23, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0

Các bác giúp em với nhé.Đây là lần đầu em dùng cakephp
Nhìn cái chỗ in đậm ... có vấn đề , dấu \ và / . nếu setting lại đúng thì nó phải chạy chứ nhĩ ;P , restart server lại chưa ?
anhsaodem_1912 viết 12:09 ngày 10/10/2018
Bác doangia ơi em đã sửa lại dấu gạch và đã restart lại server rồi nhưng vẫn không được bác ạ.có cấu hình nào chuẩn không bác ơi.
doangia viết 11:57 ngày 10/10/2018
Hơ , tớ cũng không biết ... cấu hình của tớ đùng Xampp :
session.save_path = "D:\xampp\tmp"
anhsaodem_1912 viết 12:09 ngày 10/10/2018
Em tìm ra lỗi rùi các bác a. Hóa ra mình chỉ cần thêm vào có 2 dong trong .htaccess thôi:
php_value session.auto_start 1
php_value session.save_path "C:\AppServ\php5\sessiondata"

Trong php.ini thì thay : session.save_path="C:\AppServ\php5\sessiondata" chỉ có vậy thôi mà lần mài không ra.Cảm các bác nhé.
lonewolf viết 12:09 ngày 10/10/2018
Lỗi này nguyên nhân do thực hiện một lệnh in kí tự(như echo hoặc có kí tự khác xuất hiện) trước khi start_session đó bạn. Khi lập trình bằng php cần lưu ý cái này. Trong trường hợp của bạn là do khi bạn lưu file định dạng unicode utf-8, trình soạn thảo tự động chèn các ký tự Unicode Signature(BOM)(bạn thử copy file php của bạn sang trình duyệt linux rồi mở ra xem sẽ thấy các ký tự lằng nhằng này). Cách tốt nhất là nên sử dụng 1 trình soạn thảo cho phép thêm/bỏ ký tự unicode signature khi lưu file.
Bài liên quan
0