免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4796 | 回复: 14
打印 上一主题 下一主题

关于php与mysql非常奇怪的问题,期待版主与路过的高手解答! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-07-11 00:39 |只看该作者 |倒序浏览
10可用积分
我原来的服务器(服务器A)安装的是solaris 8,做web服务用,上面安装有apache+php+msyql,发布的网站非常正常.现在我想把代码与数据库移植到另外一台机器(服务器B)上,操作系统是redhat 9,安装完毕后,测试httpd,php,mysql都成功安装及移植.描述如下:
1.服务器B的PHP代码完全来自于服务器A,代码没有任何变化
2,服务器的B的msyql数据库完全照搬来自服务器A,并且用服务器A的脚本调用服务器B的数据库做测试,证明服务器B的数据库完全正常
问题描述如下:
1.当服务器B的PHP脚本不带参数执行时候,完全正常
2.当PHP文件带参数执行时候出现错误:Warning: Cannot add header information - headers already sent by......并且非php代码部分能正常显示,php代码调用.显示数据部分没有任何显示
3.在网上收索关于此错误的解决办法,把php.ini里的output_buffering =改为on,发现带参数的网页完全不能显示了.为一面空白页.
描述如上,期待版主与路过的高手解答!谢谢!

论坛徽章:
0
2 [报告]
发表于 2007-07-11 09:36 |只看该作者
不懂,帮顶!

论坛徽章:
0
3 [报告]
发表于 2007-07-11 09:49 |只看该作者
这个问题比较奇怪.

论坛徽章:
0
4 [报告]
发表于 2007-07-11 09:53 |只看该作者
奇怪的问题往往由很简单的原因产生,楼主还是静心仔细检查一下吧 .

相信楼主明白 Warning: Cannot add header information - headers already sent by......  的意思 .

不妨写一个最简单的脚本试图重现一下这个错误 .

论坛徽章:
0
5 [报告]
发表于 2007-07-11 12:34 |只看该作者
这是你的php代码在header之前已经有输出
说明当初代码编写并不严谨
要找出问题所在,按照一般的调试方法调试就可以找出问题所在

ps:你这个不是mysql的问题,你应该发到php版块去,也请版主挪个地方

论坛徽章:
0
6 [报告]
发表于 2007-07-11 13:39 |只看该作者
楼主是否使用了header函数,请查阅一些header函数的用法。

论坛徽章:
0
7 [报告]
发表于 2007-07-11 20:18 |只看该作者
谢谢各位的热心帮助!
只是奇怪的是,相同的php脚本在solaris中搭建的php+mysql环境中非常稳定的运行,为何在redhat9中搭建的php+mysql中却出现问题呢?而且有三点可以确认:
1.机器A(solaris 8 )中的PHP脚本是运行四年的脚本,从来没有发生过任何问题
2.机器B(redhat9)中的mysql没有问题,因为我用机器A(solaris的php脚本调用机器B的msyql数据库,非常正常.
3.机器B中的php脚本在调用本地mysql数据库时候出现两种情况:
         a.不加参数的网页执行正常.包括同样使用了header函数的脚本也非常正常.
         b.带参数的网页(如.../content.php?id=19423)运行不正常,出现Warning: Cannot      add header information - headers already sent by...,并且调用数据的部分不能显示.删除掉header部分,错误仍旧相同,提示出的错误行上也仅仅只是一个表单的开始,为普通html代码,没有涉及到函数或数据库的调用
愿大家继续指教!谢谢了!!!

[ 本帖最后由 jme21 于 2007-7-11 20:27 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2007-07-11 21:56 |只看该作者
a: 确保第一个被执行的头文件<?php 前 没有空格
b: 在第一个头文件的第一行(即<?php 后) 里加入
     ob_start();

     若问题没有解决
        则  在ob_start() 之后的一行加入  
     error_reporting(E_ALL ^ E_NOTICE);
            (一般加了这行也没用 -_-)

     若 问题还没有解决

   使用die,逐行调试
   或者 寻找哪里有 setcookie session_start 之类的代码。
     在他那里之前寻找是否有输出。


c: 若还没解决问题

    我没本事了,找高手吧 。这里说不清了,非得读代码才能解决。

论坛徽章:
0
9 [报告]
发表于 2007-07-11 23:00 |只看该作者
哈哈,真是高兴啊!
问题已经得以解决了,原来是需要在php.ini里把参数修改一下:
register_globals   =   on
而默认的是off.
再次感谢各位的热心帮助!!!

论坛徽章:
0
10 [报告]
发表于 2007-07-11 23:13 |只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP