ini_set('session.save_path', __ROOT__ . '/sessions/');
echo 'needed: '.__ROOT__ . '/sessions/<br>curent: '.session_();
session_start();
此代码显示:
needed: /var/www/admin/data/www/tdf/
curent: /var/www/admin/data/mod-tmp
ini_set没有改变会话的路径。 ISP Manager 5 lite已安装。 这条路径由ISPM&#34; / var / www / admin / data / mod-tmp&#34;给出。 不知何故ISP管理员阻止了我的更改。
我尝试使用.htaccess
php_value session.save_path = '/bla'
但它给了我内部服务器错误。在其他服务器上,此代码可以工作,并为&#34;所需的&#34;提供相同的路径。和&#34; curent&#34;
整个代码:
<?
error_reporting(E_ALL);
ini_set('display_errors', '1');
ini_set('session.gc_maxlifetime', 7776000);
ini_set('session.cookie_lifetime', 7776000);
$path = '/var/www/admin/data/www/tdf/';
ini_set('session.save_path', $path);
session_save_path($path);
echo 'needed: '.$path. '<br>curent: '.session_save_path();
session_start();
$_SESSION['test'] = 'test';
phpinfo();
?>
的.htaccess
php_value session.save_path /var/www/admin/data/www/
然后,如果我检查phpinfo它会显示我&#34; session.gc_maxlifetime&#34;已被更改,但&#34; session.save_path&#34;号
答案 0 :(得分:1)
我找到了解决方案。网域 - &gt; config - &gt;将默认值更改为:
php_admin_value session.save_path "/var/www/admin/data/www/"
它在ISP Manager上分叉。