web-development-kb-es.site

Obteniendo PEAR para trabajar en XAMPP (pila Apache / MySQL en Windows)

Estoy tratando de instalar Laconica , una aplicación de Microblogging de código abierto en mi servidor de desarrollo de Windows usando XAMPP según instrucciones proporcionadas .

El sitio web no puede encontrar PEAR y arroja los siguientes errores:

Advertencia: require_once (PEAR.php) [function.require-once]: no se pudo abrir la secuencia: No existe tal archivo o directorio en C:\xampplite\htdocs\laconica\lib\common.php en la línea 31

Error fatal: require_once () [function.require]: la apertura fallida requirió 'PEAR.php' (include_path = '.;\Xampplite\php\pear\PEAR') en C:\xampplite\htdocs\laconica\lib\common. PHP en la línea 31

  1. PEAR se encuentra en C:\xampplite\php\pear
  2. phpinfo() me muestra que la ruta de inclusión es .;\xampplite\php\pear

¿Qué estoy haciendo mal? ¿Por qué no se incluye la carpeta PEAR)?

10
Donnie Thomas

Debe corregir su variable de sistema include_path Para que apunte a la ubicación correcta.

Para solucionarlo, edite el archivo php.ini. En ese archivo encontrará una línea que dice "include_path = ...". (Puede averiguar cuál es la ubicación de php.ini ejecutando phpinfo() en una página). Repare la parte de la línea que dice "\xampplite\php\pear\PEAR" Para leer "C:\xampplite\php\pear ". Asegúrese de dejar los punto y coma antes y/o después de la línea en su lugar.

Reinicie PHP y debería estar listo. Para reiniciar PHP en IIS) puede reiniciar el grupo de aplicaciones asignado a su sitio o, mejor aún, reinicie IIS todos juntos.

22
user7075

Si está utilizando la instalación portátil de XAMPP y Windows 7, y, como yo, tengo la versión después de que eliminaron el XAMPP Shell del panel de control, ninguna de las respuestas sugeridas aquí le servirá de mucho, ya que los paquetes no se instalarán.

El problema es con el archivo de configuración. Encontré la configuración correcta después de muchas pruebas y errores.

Simplemente abra una ventana de comandos en el directorio\xampp\php y ejecute

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

querrá reemplazar el ':' con la letra de unidad real en la que se está ejecutando su unidad portátil en este momento. Desafortunadamente, esto debe hacerse cada vez que cambie la letra de esta unidad, pero consiguió instalar el módulo que necesitaba.

8
Reid Johnson

Intenté todas las otras respuestas primero, pero ninguna parecía funcionar, así que configuré la ruta de pera estáticamente en el archivo de configuración de pera

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

encuentra 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;
}

y simplemente reemplácelo con esto:

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

Reinicié Apache y usé el comando:

pear config-all 

asegúrese de que todas las rutas ya no comiencen con C:\php\pear

4
Alex Rapso

Según el punto 1, su ruta PEAR es c:\xampplite\php\pear \

Sin embargo, su ruta apunta a\xampplite\php\pear\PEAR

Poniendo los dos uno encima del otro, puedes ver claramente que uno es demasiado largo:

c:\xampplite\php\pear \

\ xampplite\php\pear\PEAR

Su ruta de inclusión está configurada para ir una PEAR demasiado profunda en el peral. La subcarpeta PEAR de la carpeta de pera incluye el PEAR componente. Necesita ajustar su ruta de inclusión en un nivel.

(no necesitas la c: por cierto, tu camino está bien como está, demasiado profundo)

1
THEMike

Otro problema para este tipo de problema: evite ejecutar pera dentro de Unix Shell (por ejemplo, Git Bash o Cygwin) en una máquina con Windows. Tuve el mismo problema y la solución de ruta sugerida anteriormente no ayudó. Cambió a un Shell de Windows y el comando pear funciona como se esperaba.

0
bluestraggler

Arregle

avast elimina su server.php en su directorio, así que deshabilite el antivirus

verifique el archivo (server.php) en su carpeta laravel)

server.php

<?php

/**
 * Laravel - A PHP Framework For Web Artisans
 *
 * @package  Laravel
 * @author   Taylor Otwell <[email protected]>
 */

$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';
0
Musab ibnu Siraj

Intente agregar la letra de unidad:

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

también verifique que PEAR.php esté realmente allí, podría estar en\php\en su lugar:

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

En Windows use Xampp Shell (hay un botón 'Shell' en su panel de control XAMPP)

luego

cd php\pear

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

luego escribe

pear
0
mpalencia