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

  1. PEAR está localizada em C:\xampplite\php\pear
  2. 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?

Foi útil?

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';

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top