it-swarm-ru.tech

Получение PEAR работать на XAMPP (стек Apache/MySQL в Windows)

Я пытаюсь установить Laconica , приложение микроблогов с открытым исходным кодом на моем сервере разработки Windows, используя XAMPP в соответствии с инструкциями .

Веб-сайт не может найти PEAR, и выдает следующие ошибки:

Предупреждение: require_once (PEAR.php) [function.require-Once]: не удалось открыть поток: нет такого файла или каталога в C:\xampplite\htdocs\laconica\lib\common.php в строке 31

Неустранимая ошибка: require_once () [function.require]: Не удалось открыть обязательный файл 'PEAR.php' (include_path = '.;\Xampplite\php\pear\PEAR') в C:\xampplite\htdocs\laconica\lib\common. PHP на линии 31

  1. PEAR находится в C:\xampplite\php\pear
  2. phpinfo() показывает, что путь включения - .;\xampplite\php\pear

Что я делаю неправильно? Почему папка PEAR не включена?

9
Donnie Thomas

Вам нужно исправить системную переменную include_path, чтобы она указывала на правильное местоположение. 

Чтобы исправить это, отредактируйте файл php.ini. В этом файле вы найдете строку с надписью "include_path = ...". (Вы можете узнать, где находится php.ini, запустив phpinfo() на странице.) Исправьте часть строки с надписью «\xampplite\php\pear\PEAR», чтобы прочитать «C:\xampplite\php\pear». Обязательно оставляйте точки с запятой до и/или после строки на месте.

Перезапустите PHP, и все будет хорошо. Чтобы перезапустить PHP в IIS, вы можете перезапустить пул приложений, назначенный вашему сайту, или, что еще лучше, перезапустить IIS все вместе.

21
user7075

Если вы используете переносную установку XAMPP и Windows 7, и, как и у меня, есть версия после того, как они удалили оболочку XAMPP из панели управления, ни один из предложенных здесь ответов не принесет вам пользы, поскольку пакеты не будут установлены.

Проблема с файлом конфигурации. Я нашел правильные настройки после большого количества проб и ошибок.

Просто откройте окно команд в каталоге\xampp\php и запустите

pear config-set doc_dir :\xampp\php\docs\PEAR
pear config-set cfg_dir :\xampp\php\cfg
pear config-set data_dir :\xampp\php\data\PEAR
pear config-set test_dir :\xampp\php\tests
pear config-set www_dir :\xampp\php\www

вам нужно заменить «:» на фактическую букву диска, на котором в данный момент работает ваш портативный диск. К сожалению, это нужно делать каждый раз, когда меняется буква диска, но он установил нужный мне модуль.

8
Reid Johnson

Сначала я попробовал все остальные ответы, но ни один из них, похоже, не работал, поэтому я статически установил путь Pear в конфигурационном файле Pear

C:\XAMPP\PHP\груша\config.php

найти этот код:

if (!defined('PEAR_INSTALL_DIR') || !PEAR_INSTALL_DIR) {
    $PEAR_INSTALL_DIR = PHP_LIBDIR . DIRECTORY_SEPARATOR . 'pear';
} 
else {
    $PEAR_INSTALL_DIR = PEAR_INSTALL_DIR;
}

и просто замените его следующим:

$PEAR_INSTALL_DIR = "C:\\xampp\\php\\pear";

Я перезапустил Apache и использовал команду:

pear config-all 

убедитесь, что все пути больше не начинаются с C:\php\pear

4
Alex Rapso

В соответствии с точкой 1, ваш PEAR путь будет c:\xampplite\php\pear \

Тем не менее, ваш путь указывает на\xampplite\php\pear\PEAR

Поместив два над другим, вы ясно увидите, что одно слишком длинное:

c:\xampplite\PHP\груша \

\ Xampplite\PHP\груша\PEAR

Ваш путь включения настроен так, чтобы он заходил на один PEAR слишком глубоко в грушевое дерево. Подпапка PEAR в папке pear содержит компонент PEAR. Вам нужно настроить путь включения на один уровень.

(кстати, вам не нужен c: ваш путь в порядке, слишком глубокий)

1
THEMike

Другая проблема для такого рода проблем: избегайте запуска pear в оболочке Unix (например, Git Bash или Cygwin) на компьютере с Windows. У меня была та же проблема, и предложенное выше исправление пути не помогло. Переключился на оболочку Windows, и команда pear работает как положено.

0
bluestraggler

Попробуйте добавить букву диска:

include_path='.;c:\xampplite\php\pear\PEAR'

также убедитесь, что PEAR.php действительно есть, он может быть в\php \:

include_path='.;c:\xampplite\php'
0
Sietse

В Windows используйте оболочку Xampp (на панели управления XAMPP есть кнопка «Оболочка»)

затем

cd php\pear

перейти к 'C:\xampp\php\pear'

затем введите

pear
0
mpalencia