php - instalar - postgresql download mac
HabilitaciĆ³n del soporte de PostgreSQL en PHP en Mac OS X (10)
Esto funcionó para mí con OSX 10.9.4 « Mavericks »
Instalar fuentes
Descargue el código fuente de PHP. A diferencia de Mountain Lion, no tienes ningún encabezado preinstalado para enlazar, así que debes ponerlo en / usr / include / php. Mavericks se envía con PHP 5.4.17, pero la última fuente 5.4.x de php.net debería:
tar -jxvf php-5.4.20.tar.bz2
sudo mkdir -p /usr/include
sudo mv php-5.4.20 /usr/include/php
Configurar PHP
cd /usr/include/php
./configure --without-iconv
sudo cp /etc/php.ini.default /etc/php.ini
Construyendo un módulo
Necesitaba el módulo pdo_pgsql: el mismo patrón debería aplicarse a casi cualquier módulo suponiendo que tiene las dependencias necesarias instaladas:
cd ext/pdo_pgsql
En mi caso tuve el siguiente error:
No se puede encontrar autoconf. Verifique la instalación de autoconf y la variable de entorno $ PHP_AUTOCONF. Luego, vuelva a ejecutar este script. ERROR: `phpize ''falló
Entonces tuve que usar este comando:
brew install autoconf
Entonces:
phpize
Después de eso traté de hacer: ./configure
pero tuve el siguiente problema:
buscando pg_config ... no se ha encontrado configure: error: No se puede encontrar libpq-fe.h. Por favor, especifique la ruta de instalación correcta de PostgreSQL
Entonces la solución fue especificar la ruta correcta de instalación de PostgreSQL:
./configure --with-pdo-pgsql=/Library/PostgreSQL/9.3/
make
sudo make install
Que copia pdo_pgsql.so en / usr / lib / php / extensions / no-debug-non-zts-20100525.
Entonces simplemente agrega
extension=pdo_pgsql.so to /etc/php.ini
Ejecute php -m
para confirmar que todo fue según lo planeado.
Estoy teniendo un momento terriblemente difícil para que el comando "pg_connect ()" funcione correctamente en mi Mac. Actualmente estoy escribiendo un script PHP (para ser ejecutado desde la consola) para leer una base de datos PostgreSQL y enviar un informe por correo electrónico.
Ingresé a mi archivo php.ini
y agregué
extension=pgsql.so
Pero, me encontré con el siguiente error.
Advertencia de PHP: Inicio de PHP: no se puede cargar la biblioteca dinámica ''/usr/lib/php/extensions/no-debug-non-zts-20090626/php_pgsql.so'' - dlopen (/ usr / lib / php / extensions / no-debug -non-zts-20090626 / php_pgsql.so, 9): imagen no encontrada en Desconocido en la línea 0
Error fatal de PHP: llamada a la función indefinida pg_connect () en ... (archivo blah aquí)
Cuando phpinfo()
, no veo nada acerca de PostgreSQL, ¿cuál es mi problema aquí?
Descargué PostgreSQL para Mac, y utilicé el generador de pila después de la instalación para poner en pie toda la pila EnterpriseDB Apache / PHP de extremo a extremo. Menciono esto como una posible opción de ahorro de tiempo, probablemente no ideal para todas las situaciones. Debería funcionar bien si el apache y el postgres enviados con Mac OS X nunca se iniciaron.
Para mantener estables las aplicaciones alojadas de apache (es decir, la herencia de instalación anterior a PostgreSQL), simplemente instalaría el apache EnterpriseDB más nuevo en el puerto 81 (stackbuilder solicitará un nuevo puerto si ya se está ejecutando la instancia de apache heredada). Luego, use mod_proxy en httpd.conf para apache que se ejecuta en el puerto 80 para brindar una experiencia de usuario sin problemas a las aplicaciones alojadas en PostgreSQL.
La versión de PHP que viene incluida con OS X no incluye PostgreSQL. Tendrá que compilar la extensión usted mismo. Aquí hay algunas instrucciones:
- Encuentra tu versión de PHP:
php -v
. - Descargue la versión de PHP que coincida con la suya:
curl -O http://us.php.net/distributions/php-5.3.3.tar.gz
. (Este ejemplo descarga PHP 5.3.3 pero debe coincidir con su versión) - Extraiga el archivo que descargó:
tar -xzvf php-5.3.3.tar.gz
- Cambie al directorio de extensión de PostgreSQL:
cd php-5.3.3/ext/pgsql/
- Escriba
phpize
. - Escriba
./configure
. - Escriba
make
. - Escriba
sudo make install
. - Agregue la extensión a su archivo
php.ini
agregandoextension=pgsql.so
. (Puede que ya hayas hecho esto) - Reinicie Apache.
Actualización para OS X Mountain Lion Apple ha eliminado el autoconf
de las versiones más nuevas de XCode, por lo que el procedimiento anterior fallará en el # 5. Para resolver ese problema:
- Escriba
/usr/bin/ruby -e "$(/usr/bin/curl -fksSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"
. - Escriba
sudo chown -R $USER /usr/local/Cellar
. - Escriba
brew update
. - Escriba
brew install autoconf
.
Eso debería instalar autoconf
y le permite instalar el módulo siguiendo las instrucciones anteriores.
Los usuarios de OS X El Capitan simplemente pueden actualizar su versión de PHP 5.6. Este es un trazador de líneas que hará eso.
curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6
Maté todo el día tratando de hacerlo funcionar en El Capitán después de hacer una actualización ayer y resultó que olvidé modificar httpd.conf
y cambiar la ruta del módulo php predeterminado (versión 5.5.27) al que yo instalado (versión 5.6.14). Esto debe hacerse en httpd.conf
modificando su LoadModule php5_module
predeterminada de LoadModule php5_module
a LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so
. Decidí dejarlo aquí como la solución potencial para aquellos que actualizan su sistema operativo o simplemente la versión PHP y enfrentan el mismo problema.
Para php56
vía brew:
brew install php56-pdo-pgsql
Para aquellos de ustedes que tienen un error de openssl mientras make
aquí, está la solución
OSX usa openssl 0.98 mientras el instalador está buscando 1.0.0
consulte este enlace para obtener instrucciones
Error de instalación de psycopg2 - Biblioteca no cargada: libssl.dylib
Para aquellos que instalaron php7 / ngix / postgres con homebrew
Puede instalar el módulo PostgreSQL con:
brew install php70-pdo-pgsql
Después de eso, debes reiniciar el servicio php:
brew services restart php70
PostgreSQL está instalado de forma predeterminada en un lugar inusual en MAC OS X:
/Library/PostgreSQL/9.3
Dada la ubicación anterior, puede escribir esto:
./configure --with-pgsql=/Library/PostgreSQL/9.3
Si usa home brew
, puede resolver esto con un comando tan simple como:
brew install php55-pdo-pgsql
para otra versión de php, busque con:
brew search pgsql