2014-08-13 4 views
0

На нашем сервере разработки у нас установлен php 5.2. Меня попросили установить phpunit на него. Я следовал инструкциям на PHPUnit сайте, как показано ниже:
http://phpunit.de/manual/3.6/en/installation.htmlPHPUnit 3.6 PHP 5.2.7 Ошибка анализа PHP: синтаксическая ошибка, неожиданный T_FUNCTION, ожидающий ')' в/usr/local/bin/phpunit в строке 16

Note

PHPUnit 3.6 requires PHP 5.2.7 (or later) but PHP 5.3.9 (or later) is highly recommended. PHP_CodeCoverage, the library that is used by PHPUnit to collect and process code coverage information, depends on Xdebug 2.0.5 (or later) but Xdebug 2.1.3 (or later) is highly recommended.

The following two commands (which you may have to run as root) are all that is required to install PHPUnit using the PEAR Installer:

pear config-set auto_discover 1

pear install pear.phpunit.de/PHPUnit

Но есть ошибки, когда я запускаю команду PHPUnit после установки:

[[email protected] ~]# phpunit 



PHP Parse error: syntax error, unexpected T_FUNCTION, expecting ')' in /usr/local/bin/phpunit on line 16 

Я испытал его на новой установки CentOS 5, а также но все бесполезно. Я устал от phpunit. Пожалуйста, предложите, что делать.

я вручную удалил и установлен, как показано ниже:

First you need to uninstall PHPUnit 3.6 and all of it’s dependencies.

sudo pear uninstall phpunit/PHPUnit 
sudo pear uninstall phpunit/DbUnit 
sudo pear uninstall phpunit/PHP_CodeCoverage 
sudo pear uninstall phpunit/File_Iterator 
sudo pear uninstall phpunit/Text_Template 
sudo pear uninstall phpunit/PHP_Timer 
sudo pear uninstall phpunit/PHPUnit_MockObject 
sudo pear uninstall phpunit/PHPUnit_Selenium 
sudo pear uninstall pear.symfony-project.com/YAML 

Next install these specific versions of each dependency, in this order, installing PHPUnit-3.5.15 last.

sudo pear install pear.symfony-project.com/YAML-1.0.2 
sudo pear install phpunit/PHPUnit_Selenium-1.0.1 
sudo pear install phpunit/PHPUnit_MockObject-1.0.3 
sudo pear install phpunit/PHP_Timer-1.0.0 
sudo pear install phpunit/File_Iterator-1.2.3 
sudo pear install phpunit/PHP_CodeCoverage-1.0.2 
sudo pear install phpunit/Text_Template-1.0.0 
sudo pear install phpunit/DbUnit-1.0.0 
sudo pear install phpunit/PHPUnit-3.5.15 

С сайта: http://dustyreagan.com/downgrade-phpunit-3-6-to-3-5-15/

ошибка такая же, как

PHP Parse error: syntax error, unexpected T_FUNCTION, expecting ')' in /usr/local/bin/phpunit on line 16 

Пожалуйста, предложить какие-либо идеи, чтобы решить это.

+0

Посмотрите на то, что вы должны обновить свой PHP до версии 5.3, лучше всего до 5.5. Вы получите бесплатные улучшения производительности, сможете запускать Composer менеджера пакетов (все больше и больше использует его программное обеспечение), и не удастся установить PHPUnit в следующем году, потому что поддержка PEAR будет удалена. – Sven

+0

@ Все наши офисные проекты работают на php 5.2, поэтому это невозможно быстро обновить. В настоящий момент мне нужно найти работу в текущей ситуации. –

+0

PHP 5.3 довольно обратная совместимость, с едва ли необходимостью подстроить вещь (но есть инструменты, чтобы узнать об этом, например здесь: http://techblog.wimgodden.be/2010/06/24/automated-php-5- 3-совместимость-тестирование-для-старого-кода /). Скорее всего, вы уже совместимы и вам просто нужно переключить PHP. И если вы не начнете обновление в ближайшее время, боль будет увеличиваться все больше и больше. – Sven

ответ

0

Я исправился и рад поделиться ответом.

ПРОБЛЕМА ПРИЧИНА:

Вопрос заключается в том, что я следовал некоторую процедуру, которая не поддерживается в PHP 5.2. Связь этого документа, как показано ниже:

http://phpunit.de/manual/3.7/en/installation.html

Я использовал грушу для удаления PHPUnit, не деинсталлировать его должным образом и двоичная был оставлен в системе.

РЕШЕНИЕ:

Для PHP 5.2 требуется установить PHPUnit 3.6 из: http://phpunit.de/manual/3.6/en/installation.html

даже тогда, когда команда PHPUnit была выполнена, она показана ниже упомянутого результата.

[корень @ локальный] # PHPUnit -bash:/USR/местные/бен/PHPUnit: Нет такого файла или каталога

Нам нужно удалить двоичный влево в/USR/местные/бен/PHPUnit, потому что груша установлен двоичный по адресу: /USR/BIN/PHPUnit

решение было запустить PHPUnit через:/USR/бен/PHPUnit или скопировать бинарный файл в/USR/местные/бен/PHPUnit

ф/usr/bin/phpunit/usr/local/bin/

 Смежные вопросы

  • Нет связанных вопросов^_^