PHPUnit 3.6 PHP5.2.7 PHP解析错误:语法错误,意外的T#U函数,应为';)';第16行的in/usr/local/bin/phpunit
在我们的开发服务器中,安装了PHP5.2。我被要求在上面安装phpunit。我按照phpunit网站上的说明做了如下操作:PHPUnit 3.6 PHP5.2.7 PHP解析错误:语法错误,意外的T#U函数,应为';)';第16行的in/usr/local/bin/phpunit,php,linux,phpunit,centos5,Php,Linux,Phpunit,Centos5,在我们的开发服务器中,安装了PHP5.2。我被要求在上面安装phpunit。我按照phpunit网站上的说明做了如下操作: 注 PHPUnit3.6需要PHP5.2.7(或更高版本),但PHP5.3.9(或更高版本)不需要 强烈推荐。PHP_CodeCoverage,用于 PHPUnit收集和处理代码覆盖率信息,取决于 Xdebug 2.0.5(或更高版本),但Xdebug 2.1.3(或更高版本)的 推荐的 以下两个命令(您可能必须以root用户身份运行)都是 这是使用PEAR安装程序安装P
注 PHPUnit3.6需要PHP5.2.7(或更高版本),但PHP5.3.9(或更高版本)不需要 强烈推荐。PHP_CodeCoverage,用于 PHPUnit收集和处理代码覆盖率信息,取决于 Xdebug 2.0.5(或更高版本),但Xdebug 2.1.3(或更高版本)的 推荐的 以下两个命令(您可能必须以root用户身份运行)都是 这是使用PEAR安装程序安装PHPUnit所必需的: pear配置集自动查找1 pear安装pear.phpunit.de/phpunit 但安装后运行phpunit命令时出错:
[root@dev ~]# phpunit
PHP Parse error: syntax error, unexpected T_FUNCTION, expecting ')' in /usr/local/bin/phpunit on line 16
我也在新鲜的Centos 5安装上测试过它,但都没用。我受够了菲普尼特。请建议怎么做
我已手动卸载并安装如下:
首先,您需要卸载phpunit3.6及其所有依赖项
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
接下来按此顺序安装每个依赖项的这些特定版本,最后安装PHPUnit-3.5.15
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
从网站:
错误与
PHP Parse error: syntax error, unexpected T_FUNCTION, expecting ')' in /usr/local/bin/phpunit on line 16
请提出解决此问题的任何想法。我已将其修复,并很高兴与大家分享答案 问题原因: 问题是我正在遵循PHP5.2不支持的某些过程。该文件的链接如下: 我使用pear卸载PHPUnit,但PHPUnit没有正确卸载,二进制文件留在了系统中 解决方案: 对于PHP5.2,我们需要从以下位置安装phpunit 3.6: 即使在执行phpunit命令时,也会显示下面提到的结果 [root@localhost]#菲普尼特 -bash:/usr/local/bin/phpunit:没有这样的文件或目录 我们需要删除留在/usr/local/bin/phpunit的二进制文件,因为pear将二进制文件安装在: /usr/bin/phpunit 解决方案是通过:/usr/bin/phpunit运行phpunit,或者将二进制文件复制到/usr/local/bin/phpunit
cp/usr/bin/phpunit/usr/local/bin/面对这样一个事实:您应该将PHP至少升级到5.3版,最好升级到最近的5.5版。您将免费获得性能改进,将能够运行package manager Composer(越来越多的软件使用它),并避免明年无法安装PHPUnit,因为PEAR支持将被删除。@Sven我们所有的office项目都在使用PHP5.2,因此无法快速升级。目前,我必须找到一个解决当前情况的方法。PHP5.3是非常向后兼容的,几乎不需要调整任何东西(但是有一些工具可以找到它,比如这里:)。很可能您已经兼容了,只需要切换PHP即可。如果你不尽快开始升级,痛苦会越来越大。