【发布时间】:2016-05-01 23:54:19
【问题描述】:
PHP session.upload_progress 是一个很好的库来跟踪您的上传进度,但是当您将文件发送到服务器时, session.upload_progress 会自动启动 php 会话,这在 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 变量
我的会话部分配置:
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 ) ) ;
【问题讨论】:
-
如果我不调用 Zend_Registry::set( "session" , new Zend_Session_Namespace ( 'zend_session' , true ) ) ,站点将无法正常工作;如果会话已经是 starterd。所以,我认为这与您引用的问题不重复
标签: php session zend-framework zend-session