Не удается установить PEAR в Windows 7, ошибка Structures / Graph

Я только что выполнил чистую установку Windows 7. Я установил Apache, Mysql и PHP 5.3.5 по отдельности (не используя XAMPP / другие).

При установке возникает следующая ошибка: ОШИБКА: невозможно распаковать phar: // C: /Web/php-5.3.5/PEAR/go-pear.phar/PEAR/go-pear-tarballs/Structures_Graph-1.0 .2.tar

Полная трассировка стека:

C:\Web\php-5.3.5>go-pear.bat

Are you installing a system-wide PEAR or a local copy?
(system|local) [system] : system

Below is a suggested file layout for your new PEAR installation.  To change individual locations, type the number in front of the directory.  Type 'all' to change all of them or simply press Enter to accept these locations.

 1. Installation base ($prefix)                   : C:\Web\php-5.3.5
 2. Temporary directory for processing            : C:\Web\php-5.3.5\tmp
 3. Temporary directory for downloads             : C:\Web\php-5.3.5\tmp
 4. Binaries directory                            : C:\Web\php-5.3.5
 5. PHP code directory ($php_dir)                 : C:\Web\php-5.3.5\pear
 6. Documentation directory                       : C:\Web\php-5.3.5\docs
 7. Data directory                                : C:\Web\php-5.3.5\data
 8. User-modifiable configuration files directory : C:\Web\php-5.3.5\cfg
 9. Public Web Files directory                    : C:\Web\php-5.3.5\www
10. Tests directory                               : C:\Web\php-5.3.5\tests
11. Name of configuration file                    : C:\Web\php-5.3.5\pear.ini
12. Path to CLI php.exe                           : C:\Web\php-5.3.5

1-12, 'all' or Enter to continue:
Beginning install...
Configuration written to C:\Web\php-5.3.5\pear.ini...
Initialized registry...
Preparing to install...
installing phar://C:/Web/php-5.3.5/PEAR/go-pear.phar/PEAR/go-pear-tarballs/Archive_Tar-1.3.3.tar...
installing phar://C:/Web/php-5.3.5/PEAR/go-pear.phar/PEAR/go-pear-tarballs/Console_Getopt-1.2.3.tar...
installing phar://C:/Web/php-5.3.5/PEAR/go-pear.phar/PEAR/go-pear-tarballs/PEAR-1.8.0.tar...
installing phar://C:/Web/php-5.3.5/PEAR/go-pear.phar/PEAR/go-pear-tarballs/Structures_Graph-1.0.2.tar...
installing phar://C:/Web/php-5.3.5/PEAR/go-pear.phar/PEAR/go-pear-tarballs/XML_Util-1.2.1.tar...
install ok: channel://pear.php.net/Archive_Tar-1.3.3
install ok: channel://pear.php.net/Console_Getopt-1.2.3
ERROR: unable to unpack phar://C:/Web/php-5.3.5/PEAR/go-pear.phar/PEAR/go-pear-tarballs/Structures_Graph-1.0.2.tar
install ok: channel://pear.php.net/XML_Util-1.2.1
install ok: channel://pear.php.net/PEAR-1.8.0
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"

** WARNING! Old version found at C:\Web\php-5.3.5, please remove it or be sure t
o use the new c:\web\php-5.3.5\pear.bat command

The 'pear' command is now at your service at c:\web\php-5.3.5\pear.bat

* WINDOWS ENVIRONMENT VARIABLES *
For convenience, a REG file is available under C:\Web\php-5.3.5\PEAR_ENV.reg .
This file creates ENV variables for the current user.

Double-click this file to add it to the current user registry.

C:\Web\php-5.3.5>

person Marcos Roriz Junior    schedule 17.01.2011    source источник
comment
вы можете сообщить мне, почему голосование "против"?   -  person Marcos Roriz Junior    schedule 19.01.2011
comment
Не волнуйтесь, я это исправлю ;-)   -  person BarsMonster    schedule 21.01.2011


Ответы (7)


После нескольких дней поисков в Google я нашел ответ. Вот. Как решить:

С разрешением администратора (запустите cmd с правами администратора):

  1. Запустите go-pear.bat, который поставляется с установкой PHP по умолчанию. Он установит PEAR, но при установке Structures_Graph выдаст ошибку. IMO Pear нужен этот пакет для создания зависимости пакета (графика), поскольку он отсутствует, что не позволяет нам устанавливать или обновлять любой другой пакет.

  2. Загрузите и распакуйте Structures_Graph с веб-сайта pear.php.net (прямая ссылка ). Затем скопируйте папку Structure в папку PEAR. В архиве три папки: docs, Structures, tests. Нам нужен только Structures. Скопируйте папку Structures в свой PHP_ROOT_DIRECTORY\PEAR каталог. Итак, если вы установили PHP на C:\Web\php-5.3.5, скопируйте папку Structures в C:\Web\php-5.3.5\PEAR\, результат должен быть: C:\Web\php-5.3.5\PEAR\Structures

  3. Сделай pear install Structures_Graph. Несмотря на то, что файлы присутствуют, Structures_Graph на самом деле не установлен (у нас возникла проблема во время установки). Итак, нам нужно запустить команду выше.

  4. Сделай pear upgrade PEAR. Это обновит сам PEAR до текущей версии.

  5. Сделай pear upgrade Console_Getopt. Это обновляет Console_Getopt до текущей версии, и теперь мы можем управлять и устанавливать любой пакет pear.

person Marcos Roriz Junior    schedule 25.01.2011
comment
Инструкции 1 и 2 мне помогли, но я все еще не могу обновить его. Спасибо, что направили меня по правильному пути. - person Neil Aitken; 27.01.2011
comment
Решил это, после первых 2 шагов я запустил pear upgrade-all, который принудительно установил грушу до последней версии. - person Neil Aitken; 27.01.2011
comment
Просто столкнулся с этой проблемой, и у меня это сработало. Спасибо! Хотелось бы, чтобы они это исправили. - person canadiancreed; 06.08.2011
comment
Огромное спасибо. Вы сэкономили мне часы на устранение неполадок. Я сделал грушевое обновление после копирования файлов Structures, как это сделал Нил, и это сработало. К вашему сведению, вам нужно запустить командную строку с правами администратора, чтобы она могла создавать каталоги. - person Venkat D.; 02.10.2011
comment
Несколько примечаний, чтобы спасти других от проблемы, с которой я пытался следовать приведенным выше инструкциям: 1. На шаге 2 каталог, в который должны быть скопированы структуры, был для меня PEAR \ pear (это уже упоминалось в другом ответе ниже) 2 Когда я пробовал шаг 3, я всегда получал сообщение, что не удается распаковать файл Structures_Graph-1.0.4.tgz. После множества проб и ошибок я удалил все в папке PEAR \ tmp, куда PEAR временно скачивает пакеты, и все заработало. - person AsGoodAsItGets; 29.03.2013

Решение Marcos Roriz действительно работает, но для уточнения пункта 2:

Несжатую папку "Structures" (внутри tgz) необходимо поместить в папку: "PEAR \ pear" -> например. C: \ wamp \ bin \ php \ php5.3.5 \ PEAR \ груша

person Michael Noyb    schedule 03.02.2011

Это комбинация того, что вам нужно сделать, и пары новых настроек. Работал на WinXP Pro с WAMP (Wampserver 2.2.1)

Измените свой go-pear.bat файл:

@ECHO OFF
set PHP_BIN=php.exe
%PHP_BIN% -d output_buffering=0 -d phar.require_hash=0 PEAR\go-pear.phar
pause

Запустить - go-pear.bat

Теперь вы выполнили установку Pear с отсутствующим файлом graph.php.

Загрузите и распакуйте Structures_Graph с веб-сайта pear.php.net. Скопируйте папку Structure в папку PEAR, чтобы ключевые файлы располагались как таковые:

PEAR\Structures\Graph.php
PEAR\Structures\Graph\Node.php

Измените эту строку в Node.php:

require_once '/Structures/Graph.php';

Выполните в каталоге PEAR:

pear upgrade=all

Это сделало это для меня.

person Steve    schedule 22.06.2011
comment
Вы сделали мой день. С моей установкой Zend это единственное рабочее решение. - person Michael Laffargue; 04.10.2013

Прежде всего, запустите как администратор.

Затем - попробуйте записать что-нибудь в целевой каталог в консоли, чтобы изолировать любые оставшиеся проблемы с разрешениями.

person BarsMonster    schedule 21.01.2011
comment
Вы пробовали запустить консоль и записать какой-либо файл в целевой каталог? (где PEAR isntaller пытается распаковать архив)? - person BarsMonster; 21.01.2011

У меня было много проблем после обновления моего wampserver, который теперь поставляется с php 5.3.5.

Я решил проблему, установив вместе с ним php 5.3.0 и используя его для запуска установщика, находящегося по адресу http://pear.php.net/go-pear. Я без проблем установил настройку php cli в папку php5.3.5.

Это может быть специфичным для вампсервера. Чтобы оценить, испытываете ли вы подобную проблему, вот некоторые из проблем, с которыми я столкнулся:

Используя go-pear.bat, упакованный с php5.3.5, я имел ту же ошибку, что и исходный плакат.

Используя go-pear.bat, упакованный с php5.3.0, я смог завершить установку, но установщик pear был v1.8.0

При использовании установщика на упомянутом ранее сайте pear с php5.3.5 у меня возникла ошибка «Предупреждение: rmdir (D: \ temp): каталог не пуст в D: \ go-pear.php в строке 1237». Глядя на трассировку стека, класс Archive_Tar выдавал ошибку, и установщик не мог выполнить очистку после себя.

person dancras    schedule 22.01.2011

веб-интерфейс не записывает правильные пути к pear.ini ig настройка phph - magic_quotes_gpc = On, и она удваивает все косые черты "\" в путях к "\", это ошибка? Чем пакеты например можно распаковать (неправильные пути?)

Сообщение "не удается распаковать" при установке пакетов

http://pear.php.net/bugs/bug.php?id=18212

person Mike    schedule 23.01.2011

Я пробовал все вышеперечисленное, но безуспешно. После загрузки и распаковки папки «Structures» мне пришлось отредактировать все пути и добавить «PEAR /». Затем я смог выполнить «грушу установить Structures_Graph», а затем «грушу обновить все».

Graph.php

require_once 'PEAR/Structures/Graph/Node.php';

Node.php

require_once 'PEAR/Structures/Graph.php';

AcyclicTest.php

require_once 'PEAR/Structures/Graph.php';
require_once 'PEAR/Structures/Graph/Node.php';

TopologicalSorter.php

require_once 'PEAR/Structures/Graph.php';
require_once 'PEAR/Structures/Graph/Node.php';
require_once 'PEAR/Structures/Graph/Manipulator/AcyclicTest.php';
person moleculezz    schedule 02.07.2011