specified - laravel homestead windows 10
Laravel 5+Homestead+HHVM+PGSQL=Driver no encontrado (1)
Mi proyecto PHP usa PGSQL. Funciona con éxito desde Homestead en mi máquina de desarrollo. Tan pronto como agregue hhvm: true
para mi proyecto en homestead.yaml, y provisión: mi aplicación web arroja una PDOException
con un controlador no encontrado. La excepción desaparece cuando hhvm:true
el hhvm:true
y aprovisiono homestead.
Obviamente, la configuración de HHVM no incluye el controlador PGSQL.
¿Cómo lo corrijo?
No da muchos detalles sobre su configuración, por lo que no está claro si tiene instalado el controlador de Postgres. Postgres no es compatible desde el primer momento. Tienes que compilarlo o instalarlo tú mismo.
Facebook tiene una lista "oficial" de extensiones HHVM . PGSQL no está (aún) integrado en HHVM propiamente dicho, pero la página de Facebook apunta al proyecto GitHub externo, que está aquí:
Extensión de Postgres para HHVM
A continuación se encuentra un resumen de las instrucciones del proyecto; puede leerlos usted mismo en los archivos README.md
.
Construir desde la fuente
Si desea compilarlo desde el origen, necesitará los paquetes hhvm-dev y libpq-dev para instalar. Una vez que se hayan instalado, los siguientes comandos construirán la extensión:
$ cd /path/to/source
$ hphpize
$ cmake .
$ make
Esto producirá un archivo pgsql.so, la extensión cargable dinámicamente. Copie este archivo en /etc/hhvm/pgsql.so
.
Binarios preconstruidos
Si no desea compilarlo, hay versiones binarias preconstruidas para algunas de las distribuciones más populares en la rama "releases" separada aquí: Versiones .
De nuevo, copie el archivo descargado pgsql.so a /etc/hhvm/pgsql.so
.
Configuración
Ya sea que compile desde el código fuente o instale binarios, debe decirle a HHVM dónde encontrarlo. Edite su archivo de configuración (generalmente /etc/hhvm/php.ini
) y agregue estos si no están presentes:
extension_dir = /etc/hhvm
hhvm.extensions[pgsql] = pgsql.so
Puede verificar que todo esté funcionando ejecutando
hhvm --php -r ''var_dump(function_exists("pg_connect"));''
Si todo está funcionando bien, esto generará bool(true)
.
Es posible que deba reiniciar HHVM para que el servidor recoja la extensión.