我有一个奇怪的问题,关于PHP输出之上的额外行。
我使用Smarty模板引擎在网页上格式化我的输出。编写API连接后,我在添加的子页面的输出上方获得了一个换行符。当然,我用Google搜索了这个问题。到目前为止我尝试过的事情:
另一个奇怪的事情是,如果我在本地PC上测试程序(使用XAMPP),我会在每个页面上获取换行符。但是,当我在客户的实时服务器上测试系统时,只有受影响的API页面会获得此换行符。 PHP警告(E_ALL)出现在换行符上方。
任何人都知道我还没有尝试过吗?
答案 0 :(得分:1)
有人知道我还没试过吗?
好吧,因为我们看不到代码,虽然这不是一个理想或强大的测试场景,但在您的情况下,这可能很有用。
在您认为可能出现错误的文件中,从第一个运行的文件开始,添加exit('Here');
之类的内容。
然后运行代码并在退出消息之前查看新行是否存在,如果不是问题在exit()
之后。
从该文件中删除exit()
(确保执行此操作!),然后将其添加到运行顺序中的下一个文件中。
再次运行代码,如果没有问题,请按加载顺序重复文件,直到问题出现。
当问题出现时,您知道问题出在您上次退出的代码/文件与当前退出之间。
仔细检查代码,问题就在那里。
同样,这有点俗气并且不是一个很好的测试或调试方法,但它可能是有用的,有时是必要的,没有适当的测试环境。
另外,正如@ Fred-ii-建议的那样,删除PHP文件末尾的?>
标签可以提供帮助,如果你有它们(事实上你不应该在那里使用它们,这曾经是许多月前的要求,但通常只是导致问题/头痛)。