做開發(fā)的時(shí)候,操作session有時(shí)候會(huì)遇到這個(gè)問題:Warning: session_start() [function.session-start]……
系統(tǒng)環(huán)境:WIN2003+IIS6+PHP5.2.12
PHP出現(xiàn)類似如下錯(cuò)誤:
Warning: session_start()[function.session-start]: ...... failed: No such file or directory......等情況,
可以償試修改一下php.ini文件中的session.auto_start = 0 改為 session.auto_start = 1
如果重啟IIS后問題依然存在,
那就是session變量需要系統(tǒng)的臨時(shí)文件空間,并需要讀寫的權(quán)限。
在php.ini里找到session.save_path = ,設(shè)置一個(gè)有效的文件夾路徑,
例如:session.save_path = "c:\php5\session_temp" 并添加該文件夾的權(quán)限,讓everyone有修改寫入的權(quán)限即可。
PHP環(huán)境:
OS:CentOS release 5.2 (Final)
Apache:
Server version: Apache/2.2.3
Server built: Jan 15 2008 20:33:30
php:
PHP 5.1.6 (cli) (built: May 24 2008 14:07:53)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
報(bào)錯(cuò)信息如下:
Warning:session_start()[function.session-start]:open(/var/lib/php/session/sess_itqfqua1554rmkgcb8u89ujem5,O_RDWR)failed:Permission denied(13)in www_path on line 9
Warning:Unknown:open(/var/lib/php/session/sess_itqfqua1554rmkgcb8u89ujem5,O_RDWR)failed:Permission denied(13)in Unknown on line 0
Warning:Unknown:Failed to write session data (files);Please verify that the current setting of session.sav_path is correct (/var/lib/php/session)in Unknown on line 0
解決辦法:
方法1、注釋掉/etc/php.ini中
session.save_path = “/var/lib/php/session”
方法2、查看apache用戶和組,然后將該用戶加到session文件夾所處的組中。
方法3,在session_start() 前不要有任何輸出!
然后重啟Apache;
OK,問題解決!