我在当前的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