Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.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
Php session_start()使服务器在整个执行时间内运行,然后返回数据_Php_Session_Ubuntu - Fatal编程技术网

Php session_start()使服务器在整个执行时间内运行,然后返回数据

Php session_start()使服务器在整个执行时间内运行,然后返回数据,php,session,ubuntu,Php,Session,Ubuntu,我有一个小的MVC应用程序,我一直在用MAMP在笔记本电脑上本地编写,它运行良好-没有问题,事实上,我已经将它安装在GoDaddy服务器上,用于一个小项目。我家里有一台旧电脑,我把它变成了一台Ubuntu服务器,安装了一个LAMP,它也工作得很好。我环顾了一下网上的问题,但似乎没有一个是相同的情况 我计时;页面放置并加载60秒(最大执行时间),然后显示。这不是一个大网站;目前,它实际上是一个带有“demo”一词的div,一些css和js。我坐在那里,不断刷新服务器上的访问日志,直到60秒结束并下

我有一个小的MVC应用程序,我一直在用MAMP在笔记本电脑上本地编写,它运行良好-没有问题,事实上,我已经将它安装在GoDaddy服务器上,用于一个小项目。我家里有一台旧电脑,我把它变成了一台Ubuntu服务器,安装了一个LAMP,它也工作得很好。我环顾了一下网上的问题,但似乎没有一个是相同的情况

我计时;页面放置并加载60秒(最大执行时间),然后显示。这不是一个大网站;目前,它实际上是一个带有“demo”一词的div,一些css和js。我坐在那里,不断刷新服务器上的访问日志,直到60秒结束并下载文件,它才添加新记录,所以肯定不是加载时间

如果我把
die('asdf')向下移动索引文件,直到我点击
session\u start()
为止。我有另一个虚拟服务器在盒子上,它的工作没有任何问题(甚至使用会话)

如果我注释掉会话,它会一直运行,直到遇到匿名函数,但我认为所有会话的根源都是会话。服务器运行的是PHP5.3.6,所以这不应该是个问题

我原本以为是.htaccess文件,但我设法排除了这种可能性。我不是最精通服务器技术的人,但我正在学习!我还没有在服务器上修改任何会话,因此我无法想象是什么让它这样做而不发送任何错误(所有内容都显示得尽可能高)。我只是觉得我应该得到一个超时错误,而不是让它运行,然后坐等它超时。同样,该代码在另外两台服务器上工作,因此它在这台服务器上是有用的


谢谢大家!

尝试运行更高版本的PHP。我和你一样,曾经用PHP5.3.6在MAMP上开发过,并且发生了一些奇怪的事情(比如闭包不能正确使用引用)


我理解您的生产环境是否无法升级,但值得一试,看看是PHP问题还是脚本问题。

尝试运行更高版本的PHP。我和你一样,曾经用PHP5.3.6在MAMP上开发过,并且发生了一些奇怪的事情(比如闭包不能正确使用引用)


我理解您的生产环境是否无法升级,但值得一试,看看是PHP问题还是脚本问题。

这可能与存储会话的路径有关(通常是/var/tmp之类的)。检查该路径是什么(使用
phpinfo()
),并检查该目录是否存在,是否可供Web用户写入。@我不明白的是,服务器上的两个站点共享一个php.ini文件,而会话在另一个站点上工作正常。我的意思是,我回家后会检查一下,但我不知道一个如何工作,一个如何不工作。临时文件夹上的文件权限是服务器的属性,而不是PHP的属性。因此,如果您在两个不同的服务器上运行相同的PHP配置,其中一个服务器在存储会话的文件夹中没有写入权限,您将得到一个错误。我认为您弄错了我的措辞——出现问题的服务器上已经有另一个站点。它有两个虚拟服务器,它们使用相同的php.ini文件(同一服务器上的同一个文件)——所有配置都是相同的。它可能与存储会话的路径有关(通常是/var/tmp之类的)。检查该路径是什么(使用
phpinfo()
),并检查该目录是否存在,是否可供Web用户写入。@我不明白的是,服务器上的两个站点共享一个php.ini文件,而会话在另一个站点上工作正常。我的意思是,我回家后会检查一下,但我不知道一个如何工作,一个如何不工作。临时文件夹上的文件权限是服务器的属性,而不是PHP的属性。因此,如果您在两个不同的服务器上运行相同的PHP配置,其中一个服务器在存储会话的文件夹中没有写入权限,您将得到一个错误。我认为您弄错了我的措辞——出现问题的服务器上已经有另一个站点。它有两个虚拟服务器,它们使用相同的php.ini文件(同一服务器上的同一个文件)——所有配置都是相同的。php的当前版本是什么?我认为5.3.6是最新的——这是服务器上运行的,而不是MAMP(虽然MAMP可能也在运行,但我正在工作,目前无法检查)。PHP的当前版本是什么?我认为5.3.6是最新的,这是服务器上运行的,而不是MAMP(虽然MAMP可能也在运行,但我正在工作,目前无法检查)