php自定義session保存目錄
網站突然報出一堆錯誤提示,提示代碼如下:
Warning: session_start() [function.session-start]: open(/var/lib/php/session/sess_0dj5ol1fp235a0scu79s8c33t1, O_RDWR) failed: Permission denied (13) in /home/wethost/wwwroot/include/seccode.inc.php on line 7
Warning: Unknown: open(/var/lib/php/session/sess_0dj5ol1fp235a0scu79s8c33t1, 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.save_path is correct (/var/lib/php/session) in Unknown on line 0
以上提示的大概意思是說沒有讀取SESSION目錄中文件的權限。想必是虛擬主機提供方配置服務器做了某些修改導致的。為了免生麻煩,本次就直接在php中設置session的文件保存目錄吧。
在php代碼中加入如下代碼,要加在 session_start() 的前面。
ini_set('session.save_path', dirname(__FILE__).'/Alixixi/');
或者:
session_save_path(dirname(__FILE__).'/Alixixi/');
以上即將網站生成的session文件保存到了網站當前根目錄的Alixixi目錄下面。
注意并不是所有配置參數都可以在腳本中設置,這個跟參數的作用域有關系。
以下內容為引用 PHP的配置參數作用域說明
PHP_INI_PERDIR:指令可以在php.ini、httpd.conf或.htaccess文件中修改;
PHP_INI_SYSTEM:指令可以在php.ini和httpd.conf中修改;
PHP_INI_USER:指令可以在用戶腳本中修改;
PHP_INI_ALL:指令可以在任何地方修改;
所以只有PHP_INI_USER和PHP_INI_ALL作用域的參數才可以在腳本中的設置生效。至于參數的具體作用域可以在網絡中檢索。
關鍵字:session、網絡、目錄、服務器
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解