Javascript PHP在执行了一些行之后意外地停止了页面,如segfaults
PHP版本=5.3, OS=CentOS 6, 提供程序=机架空间, 类型=云Javascript PHP在执行了一些行之后意外地停止了页面,如segfaults,javascript,php,apache,memcached,rackspace-cloud,Javascript,Php,Apache,Memcached,Rackspace Cloud,PHP版本=5.3, OS=CentOS 6, 提供程序=机架空间, 类型=云 问题: 因此,我有一个php页面,命名为page_two.php,共195行。我通过以下方式从page_one.php调用此页面: if(result=='success') { var params = 'top=0, left=0'; params += ', width='+screen.width+', height='+screen.height+',statusbar=no,toolb
问题: 因此,我有一个php页面,命名为
page_two.php
,共195行。我通过以下方式从page_one.php
调用此页面:
if(result=='success')
{
var params = 'top=0, left=0';
params += ', width='+screen.width+', height='+screen.height+',statusbar=no,toolbar=no, location=no,directories=no,menubar=no,resizable=no';
params += ', scrollbars=yes, status=no, fullscreen=yes, titlebar=no';
newwin=window.open("page_two.php","_blank",params);
if (window.focus) {newwin.focus()}
return false;
}
上面的代码在一个新的弹出窗口中打开php页面
现在这个页面可以在我的本地系统上正常工作,没有错误,也可以在我的共享godaddy服务器上正常工作。最近,我带来了一台Rackspace云服务器,并将同一个文件上传到上面。不过,我也安装了Memcached、memcache+libevent和eAccelaretor等
我的整个网站运行良好。我面临的唯一问题是页面在这个云服务器上的特定行之后停止执行
因此,我有以下代码块,通过config.php
页面打开连接并建立会话:
<?php
include("../config.php");
if(!isset($_SESSION['my_code'])){header('Location:index.php');}
?>
上面的ecoz代码没有问题
然后我在行号175
<?php echo $_SESSION['getText1']; ?>
编辑3-在查看php错误日志后,我发现了这条奇怪的错误消息,这条消息对我来说真的毫无意义,说明发生了什么错误
[2013年12月17日星期二13:23:09][通知]子pid 19700出口信号分段故障(11)
当我在页面顶部回显这些会话时,效果很好。这与会话无关,因为当我只是简单地回显“HI”时,它仍然不会回显,并且当PHP带
分段错误退出时,页面停止在那里执行,这意味着您的PHP安装有问题,而不是您的代码。通常这是一场延长赛。您需要确定它是哪个分机。或者您可以使用gdb调试PHP
如果您发现很难遵循调试步骤,则始终可以将几个步骤回滚到不发生错误的状态。然后一个接一个地向前添加步骤,并查看何时引入错误。如果你能想出一个简单得多的代码来复制这个bug,那么所有这些都会变得容易得多。我发现了这一点。由于我从一开始就对Memcached、memcache+libevent和eAccelaretor有点怀疑,我刚刚卸载了这三项服务,现在网页工作正常
现在我需要弄清楚,在这些问题中,哪一个产生了问题,并将更新我的答案
感谢所有人的帮助和支持。您是否打开了错误,以便显示出现的任何错误?您还可以检查错误日志并粘贴您收到的任何错误吗?您的错误日志可能在:/var/log/
中。您检查过PHP错误日志吗?如果遇到致命错误,PHP将在该点之后停止执行。PHP在日志中没有生成错误。您能从page_two.PHP发布第170-180行吗?有可能$_SESSION['getText1']是空的,因此它实际上不是在打印值,而是在该代码之后死亡。或者,您可以尝试这样做以确保打印出一些内容:
@ChrisRasco这就是问题所在,如果我简单地说
,它仍然不起作用,这真的很奇怪,您是否认为Memcached、memcache+libevent或每个celaretor的东西都会有问题。我不确定,因为我对所有这些都不熟悉。
<?php echo $_SESSION['getText1']; ?>
Request URL:http://mywebsite.comm/page_two.php
Request Method:GET
Status Code:200 OK
Request Headersview source
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8,hi;q=0.6,en-GB;q=0.4
AlexaToolbar-ALX_NS_PH:AlexaToolbar/alxg-3.2
Cache-Control:max-age=0
Connection:keep-alive
Cookie:PHPSESSID=i4oqva0ruaahg6gcmnsslc64e3
Host:mywebsite.com
Referer:http://mywebsite.com/page_one.php
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
Response Headersview source
Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection:close
Content-Type:text/html; charset=UTF-8
Date:Mon, 16 Dec 2013 12:43:34 GMT
Expires:Thu, 19 Nov 1981 08:52:00 GMT
Pragma:no-cache
Server:Apache/2.2.15 (CentOS)
Transfer-Encoding:chunked
X-Powered-By:PHP/5.3.3