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
C:\xampplite\php\pear
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)?
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.
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.
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
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)
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.
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';
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'
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