Hacer que PEAR funcione en XAMPP (pila Apache/MySQL en Windows)
Pregunta
Estoy intentando instalar lacónica, una aplicación de microblogging de código abierto en mi servidor de desarrollo de Windows que utiliza XAMPP según la instrucciones proporcionadas.
El sitio web no puede encontrar PEAR y arroja los siguientes errores:
Advertencia:require_once(PEAR.php) [función.require-once]:fallo al abrir Stream:No existe tal archivo o directorio en C:\xampplite\htdocs\laconica\lib\common.php en la línea 31
Error fatal:require_once() [función.require]:Error al abrir 'PEAR.php' (include_path='.;\xampplite\php\pear\PEAR') en C:\xampplite\htdocs\laconica\lib\common.php en la línea 31
- PERA se encuentra en
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?
Solución
Necesitas arreglar tu include_path
variable del sistema para señalar la ubicación correcta.
Para solucionarlo edite el php.ini
archivo.En ese archivo encontrará una línea que dice: "include_path = ...
".(Puedes averiguar cuál es la ubicación de php.ini ejecutando phpinfo()
en una página). Corrija la parte de la línea que dice: "\xampplite\php\pear\PEAR
" leer "C:\xampplite\php\pear
".Asegúrese de dejar los puntos y coma antes y/o después de la línea en su lugar.
Reinicie PHP y debería estar listo para comenzar.Para reiniciar PHP en IIS, puede reiniciar el grupo de aplicaciones asignado a su sitio o, mejor aún, reiniciar IIS por completo.
Otros consejos
Si está utilizando la instalación portátil de XAMPP y Windows 7 y, como yo, tiene la versión después de que eliminaron el shell XAMPP del panel de control, ninguna de las respuestas sugeridas aquí le servirá de mucho ya que los paquetes no se instalarán.
El problema está en el archivo de configuración.Encontré la configuración correcta después de muchas pruebas y errores.
Simplemente abra una ventana de comando 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ás reemplazar ':' con la letra de unidad real en la que se está ejecutando tu unidad portátil en este momento.Desafortunadamente, esto debe hacerse cada vez que cambia esta letra de unidad, pero instaló el módulo que necesitaba.
Probé 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 se puede ver claramente que uno es demasiado largo:
c:\xampplite\php\pera\
\xampplite\php\pera\PERA
Su ruta de inclusión está configurada para adentrarse una PERA demasiado en el peral.La subcarpeta PEAR de la carpeta pear incluye el componente PEAR.Necesita ajustar su ruta de inclusión hacia arriba un nivel.
(no necesitas la c:por cierto, tu camino está bien tal como está, pero es demasiado profundo)
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'
Otro problema para este tipo de problema:Evite ejecutar Pear dentro de un shell Unix (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ó.Se cambió a un shell de Windows y el comando pear funciona como se esperaba.
En Windows utilice el shell Xampp (hay un botón 'Shell' en su panel de control de XAMPP)
entonces
cd php\pear
para ir a 'C:\xampp\php\pear'
luego escribe
pear
yo arreglé
Avast elimina su servidor.php en su directorio, así que deshabilite el antivirus
verifique el archivo (server.php) en su carpeta 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';