小编Mar*_*sen的帖子

VMWare 6.5 + PHP 5.3.3 + Symfony 1.4中出现奇怪的PHP解析/语法错误

在遵循"实践Symfony"课程的同时,我遇到了一个奇怪的错误.

我在VMWare 6.5.5机器上安装了Debian Squeeze.它附带PHP 5.3.3,我使用的是Symfony 1.4.源文件在主机上,我使用共享文件夹功能(vmhgfs mount)访问它们.

现在,当我尝试以下命令时,出现错误:

php symfony doctrine:build --model    
php symfony doctrine:build --sql
Run Code Online (Sandbox Code Playgroud)

错误:

PHP Parse error:  syntax error, unexpected ')' in /var/www/appli/lib/model/doctrine/base/BaseJobeetJob.class.php on line 144
Run Code Online (Sandbox Code Playgroud)

有趣的是,当我: - 在没有共享文件夹的情况下做同样的事情(例如在ext3分区上),它可以工作, - 将VM转换为VirtualBox并在共享文件夹上执行相同的操作,它可以工作, - 降级PHP到5.2.6(来自lenny),它的工作原理.

我记得前一段时间与Smarty生成的PHP代码有同样的问题.因为它是自动生成的PHP并且可以随意重新生成,所以它是在本地direcorty中生成的.但我不认为这适用于Doctrine生成的文件.

有没有人知道发生了什么以及如何解决它?

编辑:这是第144行的代码:

    public function setUp()
    {
        parent::setUp();
        $this->hasOne('JobeetCategory', array(
             'local' => 'category_id',
             'foreign' => 'id',
             'onDelete' => 'CASCADE'));

        $timestampable0 = new Doctrine_Template_Timestampable();
        $this->actAs($timestampable0);
    }
} // Line 144 here.
Run Code Online (Sandbox Code Playgroud)

它实际上是文件的结尾......

编辑#2:说清楚我已经测试了以下组合以缩小问题范围:

  • VM软件:VMWare Workstation 6.5.5/VirtualBox 4.0.8
  • PHP版本:5.3.3/5.2.6,
  • 挂载类型:vmhgfs(或带有VirtualBox的vboxsf)/ …

php doctrine symfony1 vmware-workstation

8
推荐指数
1
解决办法
1333
查看次数

标签 统计

doctrine ×1

php ×1

symfony1 ×1

vmware-workstation ×1