我在當前的Symfony2項目有一個奇怪的PHP錯誤:奇怪的意外T_STRING錯誤
unexpected T_STRING in /blahblah/Foo/BarBundle/Entity/User.php on line 1
這是一個非常標準的錯誤,通常與錯配一雙「或」
但在這裏。是文件的代碼user.php的
<?php
namespace Foo\BarBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="fos_user")
* @ORM\Entity(repositoryClass="Foo\BarBundle\Entity\UserRepository")
*/
class User extends \FOS\UserBundle\Entity\User
{
// classic user entity
線<?PHP是線#1,沒有引號,和奇怪的事情來自一個事實,這個錯誤纔會出現我的臨時服務器上:在具有本地代碼副本的2臺開發機器上,其行爲如預期,沒有錯誤或警告。 該文件是正確的,緩存被清空。我認爲這可能是一個編碼錯誤,但它似乎不是這個。我也想到命名空間的問題,但服務器上的PHP版本是正確的(5.3.16)
你知道這個錯誤可以產生什麼,或者我可以搜索哪個方向?提前致謝。
甚至有可能用'\\'命名類嗎? –
檢查文件是否有BOM(字節順序標記),如果有,則將文件轉換爲沒有BOM的常規UTF-8 –
@IvanHušnjak它不是BOM - 我們會看到'PHP致命錯誤:命名空間聲明語句必須是在第二行的/blahblah/Foo/BarBundle/Entity/User.php腳本中的第一個語句,然後 – phihag