Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript文件中包含PHP$\会话值?_Javascript_Php_Session - Fatal编程技术网

如何在javascript文件中包含PHP$\会话值?

如何在javascript文件中包含PHP$\会话值?,javascript,php,session,Javascript,Php,Session,我使用$\u SESSION['siteRoot']将我的网站的根地址存储在中(它基本上是一个框架,因此可以根据用于访问网站的URL进行更改)。我需要在我的一些javascript文件中使用此值 到目前为止,我一直将我的js文件包括为.php,并将以下代码放在我的js文件的顶部,如下所示: <?php header("Content-type: application/javascript"); session_start(); ?> 同时也完全忽略了课程开始。如果

我使用
$\u SESSION['siteRoot']
将我的网站的根地址存储在中(它基本上是一个框架,因此可以根据用于访问网站的URL进行更改)。我需要在我的一些javascript文件中使用此值

到目前为止,我一直将我的js文件包括为
.php
,并将以下代码放在我的
js
文件的顶部,如下所示:

<?php
    header("Content-type: application/javascript");
    session_start();
?>
同时也完全忽略了课程开始。如果我不启动会话,那么我就不能使用变量(显然…),但我找不到一种启动它的方法,它不会删除我在主页中已经创建的会话


有什么想法吗?

这个问题并不是由会话本身引起的,而是因为在调用会话之前我没有包括我的类autoloader,因此我的自定义类在反序列化过程中无法存活(即使它是一个javascript文件,我没有使用任何上述类!)

我将javascript代码更改为:

<?php
    include ('include/autoloader.php');
    header("Content-type: application/javascript");
    session_start();
?>


一切正常。当您不使用该页面上的任何序列化类时,很容易忘记

看起来这与创建JS文件无关。可能会删除JS位,除非您认为它是相关的?
session\u start()
创建新会话或恢复现有会话。当您有一个现有会话时,
session\u start()
将不会清除或覆盖它。如果您看到每次页面加载都会创建新会话,并且您排除了脚本意外地在其他地方破坏会话的可能性,那么服务器的会话处理存在问题,而不是脚本。Goikiu-这不起作用。我的会话仍然被重置。George-这是我假设的,因为它在一台服务器上工作,而不是在另一台服务器上工作-您对我如何调试类似的东西有什么建议吗?您是否看到这两个环境(localhost和web server)上是否存在差异?当我运行phpinfo()时,我确实注意到会话保存路径设置为“无值”-我需要换这个吗?
<?php
    include ('include/autoloader.php');
    header("Content-type: application/javascript");
    session_start();
?>