Java 一旦tomcat重新启动,就无法访问php会话变量

Java 一旦tomcat重新启动,就无法访问php会话变量,java,php,php-java-bridge,Java,Php,Php Java Bridge,我正在用java开发一个应用程序,它需要在tomcat服务器下集成一些php文件。我做的每件事都很成功,但问题是当我关闭tomcat服务器时,它会显示一些错误,比如 Exception in thread "JavaBridgeSessionTimer" java.lang.NullPointerException at php.java.bridge.SessionFactory$SessionTimer.run(SessionFactory.java:157)

我正在用java开发一个应用程序,它需要在tomcat服务器下集成一些php文件。我做的每件事都很成功,但问题是当我关闭tomcat服务器时,它会显示一些错误,比如

Exception in thread "JavaBridgeSessionTimer" java.lang.NullPointerException
        at php.java.bridge.SessionFactory$SessionTimer.run(SessionFactory.java:157)
        at java.lang.Thread.run(Thread.java:619)
稍后,如果我再次启动,我将无法从php文件访问任何会话变量。我尝试了一个在tomcat中运行的简单php程序。一旦我重新启动机器,这个问题就会得到解决,但我不想经常这样做,因为tomcat中的任何配置文件都有任何更改

session1.php

<?php
session_start();
?>
<body><html>
<form action="session2.php" method="post">
         <?php $_SESSION['name']="MyName"; ?>
 <input type="submit" value="Submit">
</form>
</body>
session2.php

<?php
session_start();
?>
<html>
<body>

<?php echo( $_SESSION['name'] ); ?> 

</body>
</html>

PHP会话变量保存在内存中。这意味着如果关闭服务器,它们将丢失


如果您需要在服务器重新启动时保持这些会话,则需要将它们存储在数据库或类似数据库中。

但我正在重新开始创建会话,为什么它不作为新会话变量存储在内存中?您需要提供更多详细信息,例如演示问题的示例代码。我已经在weapp下创建了一个文件夹sess,并将文件放在session1.php session2.php session3.php下面。第一次启动时,它可以正常工作。但一旦重新启动tomcat,它就不会担心代码无法正常运行,上面有三个php文件,session1.php,session2.php,如果我把它作为一个新问题发布,session3.php代码就不会显示。先生,我已经解决了这个问题。日志文件中有一个权限被拒绝的错误,当我从根目录启动tomcat时,问题得到解决。重新启动后,tomcat从init运行。d表示从根目录运行,这就是我可以运行程序的原因。我可以解决权限问题。