问题升级到phpunit 3.5.13

时间:2011-03-10 20:25:09

标签: phpunit pear

我一直在使用phpunit一段时间,从3.5.8开始,随后升级到3.5.10,现在是3.5.11

我想使用以下命令升级到3.5.13:

pear channel-update pear.phpunit.de pear升级phpunit / PHPUnit

不幸的是,梨只会升级自己,但phpunit的升级失败,如下所示。是的,我处于管理员模式,因此授权不应成为问题。我觉得这更奇怪,因为我之前已经完成了两次成功的升级。因此,我发现很难相信这是一个特定于我的设置的问题(开发机器运行的是Windows 7 64Bit)。

是否有其他人遇到此问题并可以提供解决方案?

来自'pear upgrade phpunit / PHPUnit'的输出:

首先运行:

>pear upgrade phpunit/PHPUnit
    phpunit/PHPUnit requires PEAR Installer (version >= 1.9.2), installed version is
     1.9.1
    phpunit/PHPUnit can optionally use PHP extension "dbus"
    phpunit/File_Iterator requires PEAR Installer (version >= 1.9.2), installed vers
    ion is 1.9.1
    downloading YAML-1.0.5.tgz ...
    Starting to download YAML-1.0.5.tgz (9,966 bytes)
    .....done: 9,966 bytes
    downloading XML_RPC2-1.0.8.tgz ...
    Starting to download XML_RPC2-1.0.8.tgz (67,063 bytes)
    ...done: 67,063 bytes
    downloading PEAR-1.9.2.tgz ...
    Starting to download PEAR-1.9.2.tgz (295,120 bytes)
    ...done: 295,120 bytes
    downloading Cache_Lite-1.7.9.tgz ...
    Starting to download Cache_Lite-1.7.9.tgz (30,318 bytes)
    ...done: 30,318 bytes
    downloading Console_Getopt-1.3.1.tgz ...
    Starting to download Console_Getopt-1.3.1.tgz (4,471 bytes)
    ...done: 4,471 bytes
    upgrade ok: channel://pear.symfony-project.com/YAML-1.0.5
    upgrade ok: channel://pear.php.net/Console_Getopt-1.3.1
    upgrade ok: channel://pear.php.net/PEAR-1.9.2
    upgrade ok: channel://pear.php.net/Cache_Lite-1.7.9
    upgrade ok: channel://pear.php.net/XML_RPC2-1.0.8
    PEAR: Optional feature webinstaller available (PEAR's web-based installer)
    PEAR: Optional feature gtkinstaller available (PEAR's PHP-GTK-based installer)
    PEAR: Optional feature gtk2installer available (PEAR's PHP-GTK2-based installer)

    PEAR: To install optional features use "pear install pear/PEAR#featurename"

第二次运行:

>pear upgrade phpunit/PHPUnit
phpunit/PHPUnit can optionally use PHP extension "dbus"
downloading PHPUnit-3.5.13.tgz ...
Starting to download PHPUnit-3.5.13.tgz (118,553 bytes)
..........................done: 118,553 bytes
could not extract the package.xml file from "C:\Program Files (x86)\Zend\ZendSer
ver\bin\tmp\PHPUnit-3.5.13.tgz" Unable to create directory 'C:/Program/Fil7414.t
mp'
Unable to create path for C:/Program/Fil7414.tmp/package.xml
Download of "phpunit/PHPUnit" succeeded, but it is not a valid package archive
Error: cannot download "phpunit/PHPUnit"
downloading File_Iterator-1.2.6.tgz ...
Starting to download File_Iterator-1.2.6.tgz (3,439 bytes)
...done: 3,439 bytes
could not extract the package.xml file from "C:\Program Files (x86)\Zend\ZendSer
ver\bin\tmp\File_Iterator-1.2.6.tgz" Unable to create directory 'C:/Program/Fil7
675.tmp'
Unable to create path for C:/Program/Fil7675.tmp/package.xml
Download of "phpunit/File_Iterator" succeeded, but it is not a valid package arc
hive
Error: cannot download "phpunit/File_Iterator"
Download failed
upgrade failed

以下是梨形配置:

C:\Users\Hanno Schupp>pear config-show
PHP Warning:  Module 'Zend Data Cache' already loaded in Unknown on line 0
PHP Warning:  Zend Extension Manager: Cannot load Zend Data Cache module in Unkn
own on line 0
PHP Warning:  Module 'Zend Utils' already loaded in Unknown on line 0
PHP Warning:  Zend Extension Manager: Cannot load Zend Utils module in Unknown o
n line 0
CONFIGURATION (CHANNEL PEAR.PHP.NET):
=====================================
Auto-discover new Channels     auto_discover    <not set>
Default Channel                default_channel  pear.php.net
HTTP Proxy Server Address      http_proxy       <not set>
PEAR server [DEPRECATED]       master_server    pear.php.net
Default Channel Mirror         preferred_mirror pear.php.net
Remote Configuration File      remote_config    <not set>
PEAR executables directory     bin_dir          C:\Program Files
                                                (x86)\Zend\ZendServer\bin
PEAR documentation directory   doc_dir          C:\Program Files
                                                (x86)\Zend\ZendServer\bin\docs
PHP extension directory        ext_dir          C:\Program Files
                                                (x86)\Zend\ZendServer\lib\phpext

PEAR directory                 php_dir          C:\Program Files
                                                (x86)\Zend\ZendServer\bin\pear
PEAR Installer cache directory cache_dir        C:\Users\HANNOS~1\AppData\Local\
Temp\pear\cache
PEAR configuration file        cfg_dir          C:\Program Files
directory                                       (x86)\Zend\ZendServer\bin\cfg
PEAR data directory            data_dir         C:\Program Files
                                                (x86)\Zend\ZendServer\bin\data
PEAR Installer download        download_dir     C:\Program Files
directory                                       (x86)\Zend\ZendServer\bin\tmp
PHP CLI/CGI binary             php_bin          C:\Program Files
                                                (x86)\Zend\ZendServer\bin\.\php.
exe
php.ini location               php_ini          <not set>
--program-prefix passed to     php_prefix       <not set>
PHP's ./configure
--program-suffix passed to     php_suffix       <not set>
PHP's ./configure
PEAR Installer temp directory  temp_dir         C:\Program Files
                                                (x86)\Zend\ZendServer\bin\tmp
PEAR test directory            test_dir         C:\Program Files
                                                (x86)\Zend\ZendServer\bin\tests
PEAR www files directory       www_dir          C:\Program Files
                                                (x86)\Zend\ZendServer\bin\www
Cache TimeToLive               cache_ttl        3600
Preferred Package State        preferred_state  stable
Unix file mask                 umask            0
Debug Log Level                verbose          1
PEAR password (for             password         <not set>
maintainers)
Signature Handling Program     sig_bin          c:\gnupg\gpg.exe
Signature Key Directory        sig_keydir       C:\Program Files
                                                (x86)\Zend\ZendServer\bin\pearke
ys
Signature Key Id               sig_keyid        <not set>
Package Signature Type         sig_type         gpg
PEAR username (for             username         <not set>
maintainers)
User Configuration File        Filename         C:\Program Files
                                                (x86)\Zend\ZendServer\bin\pear.i
ni
System Configuration File      Filename         C:\Program Files
                                                (x86)\Zend\ZendServer\bin\pearsy
s.ini
enter code here

3 个答案:

答案 0 :(得分:6)

更新

正如@ amateur barista和@ Tibor指出的那样,您可以使用以下命令在不修改pear.ini的情况下应用此相同的修补程序:

> pear config-set temp_dir "C:\tmp"
> pear config-set download_dir "C:\tmp"

原始

我在运行WampServer的Windows 7 64位计算机上遇到了同样的问题。

似乎PEAR以不同方式处理temp_dirdownload_dir变量。对于download_dir,它会正确处理路径中的空格,而对于temp_dir,它会变为FUBAR。

以下是纠正的步骤:

  1. 打开您的pear.ini(我的是C:\Program Files (x86)\WAMP\bin\php\php5.3.4\pear.ini

    注意:此文件为serialize'd,因此请确保在更改任何内容之前了解语法。

  2. temp_dirdownload_dir变量更改为不带空格的路径。

    示例(之前):

    s:8:"temp_dir";s:48:"C:\Program Files (x86)\WAMP\bin\php\php5.3.4\tmp";s:12:"download_dir";s:48:"C:\Program Files (x86)\WAMP\bin\php\php5.3.4\tmp"
    

    示例(之后):

    s:8:"temp_dir";s:6:"C:\tmp";s:12:"download_dir";s:6:"C:\tmp"
    
  3. 全部完成!再次尝试安装命令。

  4. 据推测,您可能只需要改变pear.ini中的一条路径,但这就是我使用它的方式。

答案 1 :(得分:1)

命令llnes修改pear配置属性

pear config-set temp_dir "C:\tmp"
pear config-set download_dir "C:\tmp"

答案 2 :(得分:0)

从错误消息Unable to create directory 'C:/Program/Fil7675.tmp'开始,它似乎正在从配置的临时文件路径中删除Files。我不知道PEAR在Windows上安装的位置,但似乎它正在尝试在"C:/Program Files/PEAR"下创建一个文件夹,但是在空格之后砍掉所有内容。

实际上,看起来它正在填充Files的一部分进入新路径。