Странные ошибки синтаксического анализа / синтаксиса PHP в VMWare 6.5 + PHP 5.3.3 + Symfony 1.4

Во время прохождения курса "Практическая Symfony" я столкнулся с странной ошибкой.

Я установил Debian Squeeze на машине VMWare 6.5.5. Он поставляется с PHP 5.3.3, и я использую Symfony 1.4. Исходные файлы находятся на хосте, я обращаюсь к ним с помощью функции общей папки (vmhgfs mount).

Теперь, когда я пытаюсь выполнить следующие команды, я получаю сообщение об ошибке:

php symfony doctrine:build --model    
php symfony doctrine:build --sql

Ошибка:

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

Что смешного это когда я: - сделайте то же самое без общих папок (например, на разделе ext3), это работает, - преобразовать виртуальную машину в VirtualBox и проделать то же самое с общей папкой, все работает, - понизьте версию PHP до 5.2.6 (с lenny), он работает.

Я помню, что некоторое время назад у меня была такая же проблема с кодом PHP, сгенерированным Smarty. Поскольку он был автоматически сгенерирован PHP и мог быть регенерирован по желанию, я сгенерировал его в локальном каталоге. Но я не думаю, что это применимо к файлам, сгенерированным 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.

Это фактически конец файла ...

РЕДАКТИРОВАТЬ №2: чтобы прояснить ситуацию, я протестировал следующие комбинации, чтобы сузить проблему:

  • Программное обеспечение VM: VMWare Workstation 6.5.5 / VirtualBox 4.0.8
  • Версия PHP: 5.3.3 / 5.2.6,
  • Тип монтирования: vmhgfs (или vboxsf с VirtualBox) / ext4 (локальный) / cifs (он же общий ресурс Windows).

В каждом случае я использую одни и те же исходные файлы (но для ext4, потому что у меня не было другого выбора, кроме как скопировать их). У меня не получается комбинировать жирные элементы. Если я поменяю один из них, все будет нормально. Я также попытался использовать open-vm-modules вместо предоставленных инструментов vmware и построить установку Debian с нуля вместо использования моего собственного автоматизированного сценария, но ни один из них ничего не изменил.

8
задан Mark Theunissen 20 November 2012 в 00:19
поделиться