簡體   English   中英

*“空” PHP文件“

[英]An *empty* PHP file “<?php”, when included, doesn't get parsed and is added to Output Buffer instead, why so?

復制的最簡單方法是通過Web上下文,方法是:

  1. 創建具有以下內容的file.php<?php 沒有空格!

  2. 使index.php具有以下內容:

     <?php header('Content-Type: text/plain'); require 'file.php'; echo 'test'; 

現在,見證結果。

預期: test

實際: <?phptest

我在開發過程中偶然發現了這一點,這很煩人。

環境:

  • Linux 3.13.7-1-ARCH#1 SMP PREEMPT 2014年3月24日星期一20:06:08 CET 2014 x86_64
  • Apache / 2.4.9(Unix)(建立:2014年3月16日12:48:23)
  • PHP 5.5.10(CLI)(建立:2014年3月5日17:41:10)

為什么會有這種行為,PHP為什么不對此進行解析?

文檔引用:

注意:

在PHP 5.2和更早版本中,解析器不允許<?php開頭標記成為文件中的唯一內容。 從PHP 5.3開始, 如果在開始標記后有一個或多個空格字符,則允許這樣做。

我的重點

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM