session.upload_progress自动开始会话

问题描述 投票:1回答:1

PHP session.upload_progress是一个很好的库,可以跟踪您的上传进度,但是,当您将文件发送到服务器时,session.upload_progress自动启动php session,这在Zend Framework上无法正常工作,当您调用时会引发异常:

$Session = new Zend_Session_Namespace ( 'zend_session' , true );

例外:

session has already been started by session.auto-start or session_start()

将我的session.auto_start设置为“关闭”,我将以下代码放在页面顶部:

// no one command is executed before this
echo "<pre>";
print_r ($_SESSION );
exit;
  • 仅调用页面而不上传:PHP表示未设置$ _SESSION
  • 发布带有文件的表单:即使没有调用session_start(),PHP也会显示整个$ _SESSION var

我的会话部分配置:

Session Support     enabled
Registered save handlers    files user memcache memcached redis
Registered serializer handlers  php_serialize php php_binary wddx igbinary

Directive   Local Value Master Value
session.auto_start      Off Off
session.cache_expire    180 180
session.cache_limiter   nocache nocache
session.cookie_domain   no value    no value
session.cookie_httponly Off Off
session.cookie_lifetime 0   0
session.cookie_path     /   /
session.cookie_secure   Off Off
session.entropy_file    /dev/urandom    /dev/urandom
session.entropy_length  32  32
session.gc_divisor      1000    1000
session.gc_maxlifetime  1440    1440
session.gc_probability  1   1
session.hash_bits_per_character 5   5
session.hash_function   0   0
session.name    PHPSESSID   PHPSESSID
session.referer_check   no value    no value
session.save_handler    files   files
session.save_path       /tmp    /tmp
session.serialize_handler   php php
session.upload_progress.cleanup Off Off
session.upload_progress.enabled On  On
session.upload_progress.freq    1%  1%
session.upload_progress.min_freq    1   1
session.upload_progress.name    PHP_SESSION_UPLOAD_PROGRESS PHP_SESSION_UPLOAD_PROGRESS
session.upload_progress.prefix  upload_progress_    upload_progress_
session.use_cookies         On  On
session.use_only_cookies    On  On
session.use_strict_mode     Off Off
session.use_trans_sid       1   1

我的代码中没有session_start(),我只是让ZendFramework通过运行来完成它:

Zend_Registry::set( "session" , new Zend_Session_Namespace ( 'zend_session' , true ) ) ;
php session zend-framework zend-session
1个回答
0
投票
if (!self::$_unitTestEnabled && defined('SID')) ...

已定义SID,但$ _SESSION为空。但问题在于这是一个Zend Framework类,您可以根据需要对其进行注释,但建议不要更改它以更改框架文件

© www.soinside.com 2019 - 2024. All rights reserved.