我是這個PHP Micro Framework的新手。<?PHP標記之前的空格在Slim中導致錯誤
在我陷入這些錯誤之前,我最近一直在關注它。
<br />
<b>Fatal error</b>: Uncaught exception 'RuntimeException' with message 'Unexpected data in output buffer. Maybe you have characters before an opening <?php tag?' in C:\xampp\htdocs\slim3\codecourse\vendor\slim\slim\Slim\App.php:552
Stack trace:
#0 C:\xampp\htdocs\slim3\codecourse\vendor\slim\slim\Slim\App.php(344): Slim\App->finalize(Object(Slim\Http\Response))
#1 C:\xampp\htdocs\slim3\codecourse\vendor\slim\slim\Slim\App.php(298): Slim\App->process(Object(Slim\Http\Request), Object(Slim\Http\Response))
#2 C:\xampp\htdocs\slim3\codecourse\public\index.php(17): Slim\App->run()
#3 {main}
thrown in <b>C:\xampp\htdocs\slim3\codecourse\vendor\slim\slim\Slim\App.php</b> on line <b>552</b><br />
我試圖尋找解決方案,以什麼可能是這些錯誤的原因,我發現,一旦存在<?php
開始標記前面沒有空格這些錯誤都消失了,但如果在<?php
開始標記之前留下空間,這些錯誤再次出現。
就PHP而言,可能是什麼原因呢?
我的項目的文件夾結構:
如果在打開PHP標記之前有輸出,Slim會拋出一個異常,原因可能是*因爲在打開PHP標記(.phtml類型模板除外)之前,您從不需要輸出......它會將任何「 header()'你試圖設置。 – CD001
這不是Slim中的錯誤。這是用戶問題。當包含php代碼的文件中出現空格時,php會發送瀏覽器標題,然後slim將不再使用,因爲它不再控制該流的任何方面。 – geggleto
@ CD001 @ geggleto 我的代碼在<?php之前沒有空格,但是我得到錯誤.. 爲什麼? – Sudo255