`
guoyiqi
  • 浏览: 1018916 次
社区版块
存档分类
最新评论

PHP.INI配置:Session配置详细说明教程

 
阅读更多

PHP运行环境说明

我采用的是DedeAMPZ,PHP版本5.2.4,如果你是手动安装PHP运行环境,你需要将php.ini-dist或者php.ini-recommended重命名为php.ini,并将其复制在windows目录下。

php.ini中的session配置说明

下面介绍能让session运行的必要配置步骤

手动配置PHP运行环境时,最容易遗忘的一项是服务器端session文件的存储目录配置工作,打开php.ini文件,搜索Session,找到session.save_path,默认值为/tmp,代表session文件保存在c:/tmp目录下,默认tmp目录并没有创建,你可以在c盘下创建tmp目录,或者创建一个其他目录,比如leapsoulcn,再修改session.save_path的值,并去掉;,即

session.save_path = ‘/leapsoulcn’;

注意事项

1、一般为了保证服务器的安全,session.save_path值最好设置为外网无法访问的目录,另外如果你是在linux服务器下进行session配置,请务必同时配置此目录为可读写权限,否则在执行session操作时会报错。

2、在使用session变量时,为了保证服务器的安全性,最好将register_globals设置为off,以保证全局变量不混淆,在使用session_register()注册session变量时,你可以通过系统全局变量$_SESSION来访问,比如你注册了leapsoulcn变量,你可以通过$_SESSION['leapsoulcn']来访问此变量。PHP环境变量$_SERVER和系统常量详细说明

session.save_path配置其他说明事项,从php.ini配置文件翻译而来

你可以使用”N;[MODE;]/path”这样模式定义该路径,N是一个整数,表示使用N层深度的子目录,而不是将所有数据文件都保存在一个目录下。

[MODE;]可选,必须使用8进制数,默认600(=384),表示每个目录下最多保存的会话文件数量。[MODE;]并不会改写进程的umask。php不会自动创建这些文件夹结构。可使用ext/session目录下的mod_files.sh脚本创建。如果该文件夹可以被不安全的用户访问(比如默认的”/tmp”),那么将会带来安全漏洞。当N>0时自动垃圾回收将会失效,具体参见下面有关垃圾搜集的部分。

如果你服务器上有多个虚拟主机,建议针对每个不同的虚拟主机分别设置各自不同的目录。

至此最基本的session配置就完成了,你只要保存php.ini,并重启apache,即可使用session功能。

其他session配置说明

session.save_handler=”files”

默认以文件方式存取session数据,如果想要使用自定义的处理器来存取session数据,比如数据库,用”user”。

session.use_cookies = 1

是否使用cookies在客户端保存会话sessionid,默认为采用cookies

session.use_only_cookies = 0

是否仅仅使用cookie在客户端保存会话sessionid,这个选项可以使管理员禁止用户通过URL来传递id,默认为0,如果禁用的话,客户端如果禁用Cookie将使session无法工作。

session.name = “PHPSESSID”

当做cookie name来使用的session标识名

session.auto_start = 0

是否自动启动session,默认不启动,我们知道在使用session功能时,我们基本上在每个php脚本头部都会通过session_start()函数来启动session,如果你启动这个选项,则在每个脚本头部都会自动启动session,不需要每个脚本头部都以session_start()函数启动session,推荐关闭这个选项,采用默认值。

session.cookie_lifetime = 0

传递sessionid的Cookie有效期(秒),0表示仅在浏览器打开期间有效。

session.gc_probability = 1

session.gc_divisor = 100

定义在每次初始化会话时,启动垃圾回收程序的概率。计算公式如下:session.gc_probability/session.gc_divisor,比如1/100,表示有1%的概率启动启动垃圾回收程序,对会话页面访问越频繁,概率就应当越小。建议值为1/1000~5000。

session.gc_maxlifetime = 1440

设定保存的session文件生存期,超过此参数设定秒数后,保存的数据将被视为’垃圾’并由垃圾回收程序清理。判断标准是最后访问数据的时间(对于FAT文件系统是最后刷新数据的时间)。如果多个脚本共享同一个session.save_path目录但session.gc_maxlifetime不同,将以所有session.gc_maxlifetime指令中的最小值为准。

如果你在session.save_path选项中设定使用子目录来存储session数据文件,垃圾回收程序不会自动启动,你必须使用自己编写的shell脚本、cron项或者其他办法来执行垃圾搜集。

比如设置”session.gc_maxlifetime=1440″ (24分钟):

cd /path/to/sessions; find -cmin +24 | xargs rm

以上是一些常用的session配置选项说明,更多的session配置选项说明你可以参考php.ini文件中的说明。

至此,在php.ini配置文件中对session进行配置的PHP教程就介绍完毕了,通过上面的步骤实践与学习,基本的session功能都可以使用,至于session性能等其他方面则需要根据服务器环境和需求进行微调了,这个得自己体会。


分享到:
评论

相关推荐

    php.ini中文版

    随着PHP的不断发展,其功能不断更新与优化,而php.ini文件作为PHP配置的核心,对于理解和优化PHP性能至关重要。在升级或初次使用新的PHP版本时,熟悉并理解php.ini的配置选项是每个PHP开发者的基本功。 php.ini文件...

    php.ini-文件配置详解.doc

    在开始详细讲解之前,需要了解的是,php.ini文件必须被命名为“php.ini”,并且应当放在HTTP服务器配置文件(通常是httpd.conf)中PHPIniDir指令指定的目录内。最新版本的php.ini可以从PHP的官方CVS仓库中获取,如...

    php配置文件php.ini的中文注释版.rar

    《PHP配置文件php.ini详解及中文注释》 在网站开发领域,PHP作为一种广泛使用的服务器端脚本语言,其性能和功能的优化很大程度上依赖于配置文件php.ini。这个中文注释版的php.ini文件是开发者和系统管理员的宝贵...

    php.ini 配置心得(上传等限制)

    配置php.ini(php.ini为 c:\windows下的 php.ini)不是PHP目录下的 php.ini 修改了一些文件上传以及内存使用最大限制: memory_limit = 20M post_max_size = 20M upload_max_filesize = 20M 备注:post_max_size和...

    php.ini中文解释.doc

    《php.ini配置详解》 PHP作为一款广泛应用的服务器端脚本语言,其配置文件php.ini在PHP的运行中起着至关重要的作用。php.ini文件控制了PHP的诸多特性,包括错误处理、内存管理、文件上传、会话设置等多个方面。随着...

    php中文版手册 php教程

    12. PHP配置和优化:理解php.ini配置文件,优化PHP性能。 通过W3School的PHP中文教程,你可以系统学习这些知识,逐步掌握PHP编程技能。同时,附带的"php.exe"可能是PHP解释器,用于在本地运行PHP代码。安装后,可以...

    PHP Session的配置与应用

    2. **设置Session配置**:PHP的Session配置可以通过修改php.ini文件进行。例如,可以设置`session.save_path`来指定Session数据的存储路径,`session.cookie_lifetime`来设定Cookie的生命周期,`session.gc_...

    php.ini中文注释版.doc

    《深入理解PHP配置文件php.ini》 PHP作为一款广泛应用的服务器端脚本语言,其配置文件php.ini在其中起着至关重要的作用。php.ini文件控制了PHP的诸多方面,包括语言选项、错误处理、内存管理等多个领域,对于优化...

    win2008配置PHP环境.pdf

    10. 配置session.save_path:创建并设置session存储路径。 11. 配置phpmyadmin:解压到Web根目录,修改config.default.php以设置验证方式。 完成上述步骤后,PHP环境已经在Windows Server 2008上配置完成,可以正常...

    php100-102PHP5.3 Xdebug 错误分析与性能调试 .rar

    2. 配置php.ini:将Xdebug的php extension添加到php.ini文件中,并配置相关参数,如xdebug.remote_enable、xdebug.profiler_output_dir等。 3. 检测安装:重启PHP服务后,使用phpinfo()函数查看Xdebug是否成功加载。...

    PHP中Fatal error session_start()错误解决步骤

    Fatal error: session_start() [function.session-start]: Failed to initialize storage module: files (path: ) in C:\usr\phpMyAdmin\libraries\session.inc.php on line 75 I.更改服务器配置: 1、检查error.log...

    Magento商城_目录结构说明

    - `php.ini.sample`:PHP配置文件的示例。 - `STATUS.txt`:显示当前Magento版本的状态。 - `.project`:Eclipse或类似IDE的项目配置文件。 2. **var目录**: - `.htaccess`:防止对敏感数据的直接访问。 - `...

    php课程笔记——韩顺平.rar

    《PHP课程笔记——韩顺平》是一份详细记录了韩顺平讲师的PHP教学内容的文档,涵盖了PHP的基础知识到高级应用,旨在帮助学习者深入理解PHP编程语言,提升编程技能。这份压缩包中的核心文件"php课程——韩顺平.doc"是...

    Zend Framework教程之配置文件application.ini解析

    这是对PHP标准的session配置的补充,可在application.ini中统一管理session配置。 11. 数据库配置 db adapter为数据库连接适配器,如db.adapter="pdo_mysql"指明使用PDO进行MySQL数据库操作。其他参数如db.prefix、...

    php.ini save_handler 修改不生效的解决办法

    这一变化意味着,除了传统的php.ini配置文件之外,PHP-FPM的配置文件(php-fpm.conf及其子配置文件)也可以用来设置相关的会话配置。 在配置会话处理句柄时,如果在php-fpm.conf中设置了save_handler,那么即使在...

    zabbix_20210807.rar

    2. 配置PHP:修改`php.ini`,调整相关配置,如session.save_path、max_execution_time等。 3. 部署Web界面:将Zabbix前端目录复制到Apache或Nginx的文档根目录下。 4. 配置Web服务器:配置虚拟主机,指定Zabbix...

    php-7.2.23.tar.gz

    3. 配置:通过`./configure --with-config-file-path=/path/to/php.ini`指定配置文件路径,然后进行编译和安装。 4. 配置扩展:根据项目需求,可能需要安装和配置额外的PHP扩展,如mysqli、pdo_mysql等。 5. 测试...

    magento 商城目录结构说明

    - `php.ini.sample`:PHP 配置文件的示例。 - `STATUS.txt`:显示 Magento 当前版本的状态。 - `.project`:可能是 Eclipse 或其他 IDE 的项目配置文件。 2. **var 目录**: - `.htaccess`:防止未经授权的访问...

Global site tag (gtag.js) - Google Analytics