Ключевые слова PHP clone vs clone () из командной строки - PullRequest
0 голосов
/ 31 мая 2009

Я использовал ключевое слово clone для дублирования объектов, например:

$x = clone $obj;

согласно инструкции .

Это прекрасно работает при доступе через браузер. phpinfo() сообщает о версии PHP 5.2.6.

Однако при запуске cron или из CLI я получаю

"Ошибка разбора: синтаксическая ошибка, неожиданный T_VARIABLE"

из ключевого слова клона.

php -v сообщает о PHP 4.4.9 (cli)

Это ошибка из-за конфликта версий?

Если я использую clone() в моих скриптах, например:

$_SESSION['user'] = clone($userObject);

У меня возникают странные проблемы с $_SESSION['user'], которые не возникают при использовании ключевого слова clone.

Имеет ли это какой-либо смысл для кого-либо?

Любой совет?

Ответы [ 2 ]

3 голосов
/ 31 мая 2009

Кажется, что ключевое слово clone $foo доступно только в PHP 5 и новее.

Кроме того, если вы все еще используете PHP 4.4.9, это может быть более серьезной проблемой.

1 голос
/ 31 мая 2009

Оказывается, на сервере установлено 4 и 5, а CLI сообщает 4.4.9 просто из-за порядка PATH:

от поддержки:

"Выполнение команды" php -v "в оболочке всегда возвращает V4. Это потому, что у нас есть две отдельные установки для PHP на вашем сервере. Одна для V4 и одна для V5, и интерпретатор PHP 4 отображается в вашем Сначала переменная окружения PATH. Если вы хотите использовать V5 через оболочку, вам нужно обязательно использовать полный путь "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...