Fazendo o PEAR funcionar no XAMPP (pilha Apache/MySQL no Windows)
Pergunta
estou tentando instalar Lacônica, um aplicativo de microblogging de código aberto em meu servidor de desenvolvimento Windows usando XAMPP conforme o instruções fornecidas.
O site não consegue encontrar o PEAR e gera os erros abaixo:
Aviso:require_once(PEAR.php) [função.require-once]:não foi possível abrir o stream:Nenhum arquivo ou diretório em C:\xampplite\htdocs\laconica\lib\common.php na linha 31
Erro fatal:require_once() [função.require]:Falha na abertura necessária de 'PEAR.php' (include_path='.;\xampplite\php\pear\PEAR') em C:\xampplite\htdocs\laconica\lib\common.php na linha 31
- PEAR está localizada em
C:\xampplite\php\pear
phpinfo()
me mostra que o caminho de inclusão é.;\xampplite\php\pear
O que estou fazendo de errado?Por que a pasta PEAR não está incluída?
Solução
Você precisa consertar seu include_path
variável do sistema para apontar para o local correto.
Para consertar, edite o php.ini
arquivo.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
" 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ê estará pronto.Para reiniciar o PHP no IIS você pode reiniciar o pool de aplicativos atribuído ao seu site ou, melhor ainda, reiniciar o IIS por completo.
Outras dicas
Se você estiver usando a instalação portátil do XAMPP e o Windows 7, e, como eu, tiver a versão após a remoção do shell do XAMPP do painel de controle, nenhuma das respostas sugeridas aqui será de grande utilidade, pois os pacotes não serão instalados.
O problema está no arquivo de configuração.Encontrei as configurações corretas depois de muitas tentativas e erros.
Simplesmente abra uma janela de comando no diretório \xampp\php e execute
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ê desejará substituir ':' pela letra da unidade real em que sua unidade portátil está sendo executada no momento.Infelizmente, isso precisa ser feito sempre que a letra da unidade muda, mas o módulo que eu precisava foi instalado.
Tentei todas as outras respostas primeiro, mas nenhuma delas pareceu funcionar, então defini o caminho da pêra estaticamente no arquivo de configuração da 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 basta substituí-lo por isto:
$PEAR_INSTALL_DIR = "C:\\xampp\\php\\pear";
Reiniciei o apache e usei o comando:
pear config-all
certifique-se de que todos os caminhos não comecem mais com C:\php\pear
CONFORME o ponto 1, seu caminho PEAR é c:\xampplite\php\pear\
No entanto, seu caminho está apontando para \xamplite\php\pear\PEAR
Colocando os dois um acima do outro você pode ver claramente que um é muito longo:
c:\xamplite\php\pear\
\xamplite\php\pear\PEAR
Seu caminho de inclusão está configurado para ir um PEAR muito fundo na pereira.A subpasta PEAR da pasta pear inclui o componente PEAR.Você precisa ajustar seu caminho de inclusão um nível acima.
(você não precisa do c:a propósito, seu caminho está bom como está, muito profundo)
Tente adicionar a letra da unidade:
include_path='.;c:\xampplite\php\pear\PEAR'
verifique também se PEAR.php está realmente lá, pode estar em \php\:
include_path='.;c:\xampplite\php'
Outra pegadinha para esse tipo de problema:evite executar o pear em um shell Unix (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.Mudei para um shell do Windows e o comando pear funciona conforme o esperado.
No Windows use o Concha Xampp (há um botão 'Shell' no painel de controle do XAMPP)
então
cd php\pear
para ir para 'C:\xampp\php\pear'
então digite
pear
Eu consertei
Avast exclui seu servidor.php em seu diretório, então desative o antivírus
verifique o arquivo (server.php) na sua pasta laravel
servidor.php
<?php
/**
* Laravel - A PHP Framework For Web Artisans
*
* @package Laravel
* @author Taylor Otwell <taylor@laravel.com>
*/
$uri = urldecode(
parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)
);
// This file allows us to emulate Apache's "mod_rewrite" functionality from the
// built-in PHP web server. This provides a convenient way to test a Laravel
// application without having installed a "real" web server software here.
if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {
return false;
}
require_once __DIR__.'/public/index.php';