Не удается установить PEAR в Windows 7, ошибка структуры / графика - PullRequest
18 голосов
/ 17 января 2011

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

Я получаю следующую ошибку вустановить: ОШИБКА: невозможно распаковать 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>

Ответы [ 7 ]

41 голосов
/ 25 января 2011

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

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

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

  2. Скачать и распаковать Structures_Graph из грушиСайт .php.net ( прямая ссылка ).Затем скопируйте папку Structure в папку PEAR.В архиве есть три папки: документы, структуры, тесты.Нам нужна только одна структура.Скопируйте папку 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. Do pear install Structures_Graph.Несмотря на наличие файлов, Structures_Graph на самом деле не установлен (у нас возникла проблема во время установки).Поэтому нам нужно выполнить указанную выше команду.

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

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

5 голосов
/ 03 февраля 2011

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

Несжатая папка "Structures" (внутри tgz) должна быть размещена внутри папки: "PEAR \ pear" -> например, C: \ WAMP \ Bin \ PHP \ php5.3.5 \ PEAR \ груша

4 голосов
/ 22 июня 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

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

1 голос
/ 03 июля 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';
1 голос
/ 23 января 2011

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

Сообщение об ошибке «невозможно распаковать» при установке пакетов

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

1 голос
/ 22 января 2011

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

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

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

При использовании go-pear.bat, поставляемого с php5.3.5, у меня была такая же неспособность распаковать ошибку, как и у исходного постера.1009 *

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

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

1 голос
/ 21 января 2011

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

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

...