多谢指点,受你的启发 我改了php.ini中的缓冲部分,问题解决了。 原来的php.ini的设置: output_buffering = Off output_handler =修改后的设置 output_buffering = On output_handler =---------------------------- 我抄一段关于这里的中文解释 Output buffering allows you to send header lines (including cookies) even ; after you send body content, at the price of slowing PHP's output layer a ; bit. You can enable output buffering during runtime by calling the output ; buffering functions. You can also enable output buffering for all files by ; setting this directive to On. If you wish to limit the size of the buffer ; to a certain size - you can use a maximum number of bytes instead of 'On', as ; a value for this directive (e.g., output_buffering=4096). ; ; ; 输出缓冲允许你在主体内容发送后发送头信息行(包括 cookies),作为代价,会稍微减慢一点PHP ; 输出层的速度。你可以在运行期间通过调用输出缓冲函数来打开输出缓冲。你也可以通过设置这个 ; 指示来对虽有的文件打开输出缓冲。如果你想限制缓冲区大小为某个尺寸,你可以使用一个允许最大 ; 的字节数值代替 "On",作为这个指示的值。 ; ; output_buffering = 4096 ; You can redirect all of the output of your scripts to a function. For ; example, if you set output_handler to "ob_gzhandler", output will be ; transparently compressed for browsers that support gzip or deflate encoding. ; Setting an output handler automatically turns on output buffering. ; ; ; 你可以重新定向脚本所有输出到一个函数。例如,你可以设置 output_handler 为 "ob_gzhandler", ; 输出将会被明显的被压缩到支持 gzip 或 deflate 编码的浏览器。设置一个输出管理会自动打开 ; 输出缓冲 ; ; output_handler = -----------------:(然而,phpdoc找不到服务器的问题还没有解决。
怀疑是apache的问题
把zend optimizer更新一下
但是重装了一次apache+php+mysql就好
a.php 编码格式 big5.存储格式 big5
是一个html文件,只不过扩展名是php而已。a.php 在浏览器中执行,则疯狂刷新。直接在cmd命令行下用php解释这个文件,
d:\> d:\www\php44\php a.php >> result.txt
则立刻正常输出了结果.result.txt里内容和a.php里的内容完全一致。所以问题一定是出在apache 对php 的接口上。虽然php返回了正确的结果,apache收到后,将结果显示在浏览器,但是却没有终止这次会话,而是重新将请求发送给php,我想大概是这样的。不知道什么原因。
对于phpMyAdmin,只要在config.inc.php中把
$cfg['OBGzip'] = 'auto'; //(TRUE|FALSE|'auto')
改成
$cfg['OBGzip'] = 'false'; //(TRUE|FALSE|'auto')
就可以了。我也碰到这种情况,在W2K下是没有问题的。
至于phpdoc,我没有用过,但是我想可能也是同样的原因。
我改了php.ini中的缓冲部分,问题解决了。
原来的php.ini的设置:
output_buffering = Off
output_handler =修改后的设置
output_buffering = On
output_handler =----------------------------
我抄一段关于这里的中文解释
Output buffering allows you to send header lines (including cookies) even
; after you send body content, at the price of slowing PHP's output layer a
; bit. You can enable output buffering during runtime by calling the output
; buffering functions. You can also enable output buffering for all files by
; setting this directive to On. If you wish to limit the size of the buffer
; to a certain size - you can use a maximum number of bytes instead of 'On', as
; a value for this directive (e.g., output_buffering=4096).
;
;
; 输出缓冲允许你在主体内容发送后发送头信息行(包括 cookies),作为代价,会稍微减慢一点PHP
; 输出层的速度。你可以在运行期间通过调用输出缓冲函数来打开输出缓冲。你也可以通过设置这个
; 指示来对虽有的文件打开输出缓冲。如果你想限制缓冲区大小为某个尺寸,你可以使用一个允许最大
; 的字节数值代替 "On",作为这个指示的值。
;
;
output_buffering = 4096 ; You can redirect all of the output of your scripts to a function. For
; example, if you set output_handler to "ob_gzhandler", output will be
; transparently compressed for browsers that support gzip or deflate encoding.
; Setting an output handler automatically turns on output buffering.
;
;
; 你可以重新定向脚本所有输出到一个函数。例如,你可以设置 output_handler 为 "ob_gzhandler",
; 输出将会被明显的被压缩到支持 gzip 或 deflate 编码的浏览器。设置一个输出管理会自动打开
; 输出缓冲
;
;
output_handler = -----------------:(然而,phpdoc找不到服务器的问题还没有解决。