it-swarm-pt.tech

Obtendo PEAR para trabalhar no XAMPP (pilha Apache/MySQL no Windows)

Eu estou tentando instalar Laconica , um aplicativo de código aberto Microblogging no meu servidor de desenvolvimento do Windows usando o XAMPP conforme as instruções fornecidas .

O site não pode encontrar PEAR e lança os erros abaixo:

Aviso: require_once (PEAR.php) [function.require-once]: falha ao abrir fluxo: Nenhum arquivo ou diretório em C:\xampplite\htdocs\laconica\lib\common.php na linha 31

Erro fatal: require_once () [function.require]: Falha na abertura requerida 'PEAR.php' (include_path = '.;\Xampplite\php\pear\PEAR') em C:\xampplite\htdocs\laconica\lib\common. php na linha 31

  1. PEAR está localizado em C:\xampplite\php\pear
  2. phpinfo() mostra-me que o caminho de inclusão é .;\xampplite\php\pear

O que estou fazendo de errado? Por que a pasta PEAR não está sendo incluída?

9
Donnie Thomas

Você precisa corrigir a variável de sistema include_path para apontar para o local correto. 

Para corrigi-lo, edite o arquivo php.ini. Nesse arquivo você encontrará uma linha que diz "include_path = ...". (Você pode descobrir qual a localização do php.ini executando phpinfo() em uma página.) Corrija a parte da linha que diz "\xampplite\php\pear\PEAR" para ler "C:\xampplite\php\pear". Certifique-se de deixar o ponto e vírgula antes e/ou depois da linha no lugar.

Reinicie o PHP e você deve estar pronto para ir. Para reiniciar PHP em IIS você pode reiniciar o pool de aplicativos atribuído ao seu site ou, melhor ainda, reiniciar IIS todos juntos.

21
user7075

Se você estiver usando a instalação do XAMPP portátil e o Windows 7 e, como eu, tiver a versão depois de remover o XAMPP Shell do painel de controle, nenhuma das respostas sugeridas aqui fará muito bem, pois os pacotes não serão instalados.

O problema é com o arquivo de configuração. Eu encontrei as configurações corretas depois de muita tentativa e erro.

Basta abrir uma janela de comando no diretório\xampp\php e executar

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

você vai querer substituir o ':' com a letra da unidade real que o seu drive portátil está sendo executado no momento. Infelizmente, isso precisa ser feito sempre que a letra da unidade for alterada, mas o módulo necessário foi instalado.

8
Reid Johnson

Eu tentei todas as outras respostas primeiro, mas nenhuma delas parecia funcionar, então eu configurei o caminho de pêra estaticamente no arquivo de configuração de pêra

C:\xampp\php\pear\Config.php

encontre este código:

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

e apenas substitua por isso:

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

Eu reiniciei o Apache e usei o comando:

pear config-all 

verifique se todos os caminhos não começam mais com C:\php\pear

4
Alex Rapso

Conforme o ponto 1, o seu caminho PEAR é c:\xampplite\php\pear \

No entanto, seu caminho está apontando para\xampplite\php\pear\PEAR

Colocando os dois um acima do outro, você pode ver claramente que um é muito longo:

c:\xampplite\php\pear \

\ xampplite\php\pear\PEAR

Seu caminho de inclusão está definido para ir um PEAR muito profundamente na árvore de pêra. A subpasta PEAR da pasta pear inclui o componente PEAR. Você precisa ajustar seu caminho de inclusão em um nível.

(você não precisa do c: a propósito, seu caminho está bem como está, apenas muito fundo)

1
THEMike

Outra pegadinha para esse tipo de problema: evite executar pêra dentro de um Unix Shell (por exemplo, Git Bash ou Cygwin) em uma máquina Windows. Eu tive o mesmo problema e a correção do caminho sugerida acima não ajudou. Comutado para um shell do Windows e o comando pear funciona conforme o esperado.

0
bluestraggler

Tente adicionar a letra da unidade:

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

também verifique se PEAR.php está realmente lá, pode ser em\php\em vez disso:

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

No Windows, use o Xampp Shell (existe um botão 'Shell' no seu painel de controle do XAMPP)

então

cd php\pear

para ir em 'C:\xampp\php\pear'

então digite

pear
0
mpalencia