Я пытаюсь установить Laconica , приложение Microblogging с открытым исходным кодом на моем сервере разработки 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
C:\xampplite\php\pear
phpinfo()
показывает мне, что путь включения .;\xampplite\php\pear
Что я делаю не так? Почему папка PEAR не включена?
Вам нужно исправить системную переменную include_path
чтобы указать на правильное местоположение.
Чтобы исправить это, отредактируйте файл php.ini
. В этом файле вы найдете строку с надписью « include_path = ...
». (Вы можете узнать, что такое местоположение php.ini, запустив phpinfo()
на странице.) Исправьте часть строки, которая гласит: « \xampplite\php\pear\PEAR
», чтобы прочитать « C:\xampplite\php\pear
". Не забудьте оставить полуколоны до и / или после линии на месте.
Перезагрузите PHP, и вам должно быть хорошо. Чтобы перезапустить PHP в IIS, вы можете перезапустить пул приложений, назначенный вашему сайту, или, еще лучше, перезапустить IIS вместе.
Если вы используете портативную установку 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
вы захотите заменить «:» на фактическую букву диска, на которой в настоящий момент работает ваш переносной диск. К сожалению, это нужно делать в любое время, когда эта буква диска меняется, но он действительно получил установленный модуль.
Сначала я попробовал все остальные ответы, но ни один из них, похоже, не работал, поэтому я установил статический грушевый путь в файле конфигурации груши
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
AS за точку 1, ваш путь PEAR – c: \ xampplite \ php \ pear \
Однако ваш путь указывает на \ xampplite \ php \ pear \ PEAR
Положив два над другим, вы можете ясно видеть, что один слишком длинный:
C: \ xampplite \ PHP \ груша \
\ Xampplite \ PHP \ груша \ PEAR
Ваш путь включения установлен так, чтобы один PEAR был слишком глубоко в грушевом дереве. Подпапка PEAR в папке груши включает компонент PEAR. Вам нужно настроить свой путь включения на один уровень.
(вам не нужен c: кстати, ваш путь прекрасен, как есть, слишком глубокий)
Попробуйте добавить букву диска:
include_path='.;c:\xampplite\php\pear\PEAR'
также убедитесь, что PEAR.php на самом деле там, он может быть в \ php \ вместо:
include_path='.;c:\xampplite\php'
Еще одна проблема для этой проблемы: избегайте запуска груши в оболочке Unix (например, Git Bash или Cygwin) на машине Windows. У меня была та же проблема, и исправление пути, предложенное выше, не помогло. Переключается на оболочку Windows, и команда груши работает так, как ожидалось.
В Windows используйте оболочку Xampp (на панели управления XAMPP есть кнопка «Shell»)
тогда
cd php\pear
перейти к 'C: \ xampp \ php \ pear'
затем введите
pear