PHP失败原因分析及解决办法
更新时间:2016年11月16日10:13:18 提交时间:
下面小编就为大家带来PHP失败的原因分析以及解决方法。 小编觉得还不错,所以现在就分享给大家,供大家参考。下面就跟着小编一起来看看吧。
PHP中使用(":test.php")跳转时,请注意以下几点:
1、“:”号之间不能有空格,否则会出错。
2、使用前不能有任何输出,包含页面中标签“?>”后面不能有空格! !
3. 最终的PHP代码也将被执行。
继续:
问题:在函数前输入内容
一般来说,html内容不能在函数之前输出。 类似的还有()和函数。 这些函数需要将消息头信息添加到输出流中。 如果()执行之前有echo之类的语句,后面遇到()时就会报“:-send by ....”错误。 也就是说这些函数前面不能有任何文本、空行、回车等,并且最好在()函数后面添加exit()函数。 例如,在下面的错误写法中,两个PHP代码片段之间有一个空行:
//这应该是一个空行
原因:
当PHP脚本开始执行时,它可以同时发送http消息头(标题)信息和正文信息。 http消息头(来自()或()函数)不会立即发送,而是保存到列表中。 这允许您修改标头信息,包括默认标头(例如-Type标头)。 然而,一旦脚本发送任何非标头输出(例如,使用 HTML 或 print() 调用),则 PHP 必须首先发送全部,然后终止。 然后继续发送主要数据。 从此时起,不允许任何添加或修改信息的尝试,并且将发送上述错误消息之一。
解决方案:
修改php.ini打开cache(),将=0改为=4096
或者在程序中使用缓存函数()、()等。 原理是:启用后,脚本发送输出时,PHP 并不发送输出。 相反,它将此输出传送到动态增长的缓存中(仅在 PHP 4.0 中可用,它具有集中式输出机制)。 您仍然可以修改/添加或设置,因为实际上没有发送任何内容。 当所有脚本终止时,PHP 将自动发送 HTTP 到浏览器,然后发送输出缓冲区的内容。
以上对PHP失败原因的分析以及解决办法都是小编分享的内容。 希望能给大家一个参考,也希望大家支持 Home。