Инициализация строковой константы класса вызывает ошибку php сценария

byte255

Новичок
Инициализация строковой константы класса вызывает ошибку php сценария

Здравствуйте. Столкнулся с такой проблемой: выложил сайт на удаленный сервер, сайт не работает.
php ругается на инициализацию константы класса:

PHP:
class CEmailAttribute extends CValidatorBaseAttribute
 { 
	/** 	 * @var string 	 */ 	
        const EmailRegex = "{^([a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)\$}xis";
       //.......... 
}
Ошибка в error.log:
PHP:
PHP Parse error: syntax error, unexpected '"'
Дальнейшие эксперименты показали что если в произвольном классе есть поле инициализуемое при объявлении строкой, содержащей символ "$". то выполнение php сценария прерывается в этом месте. При этом если строковая переменная инициализуется строкой содержащей $ внутри метода класса или вообще вне его, то ошибки не происходит.
версия PHP на сервере 5.1.6.

Подскажите пожалуйста, в чем может быть дело.
 

korpus

злой бобёр
Код:
<?php
error_reporting(E_ALL | E_STRICT);
ini_set("display_errors", '1');
class CEmailAttribute
 {  
    /**      * @var string      */      
        const EmailRegex = "{^([a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)\$}xis"; 
       //..........  
}

?>
Этот код я проверял на денвере версия php5.2.4. Нету никакой ошибки. Значит надо менять версию php.
 
Сверху