-
-
Save heineck/074bf52f846036afb525 to your computer and use it in GitHub Desktop.
Install PostgreSQL PHP extensions on Mac OS X
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Check PHP version | |
#php --version | |
PHP_VER=$(php -v | head -1 | awk '{ print $2 }') | |
# Mavericks (10.9) | |
#PHP_VER="5.4.17" | |
# Yosemite (10.10), El Capitan (10.11) | |
#PHP_VER="5.5.27" | |
# Extensions directory (default: empty string) | |
EXT_DIR="" | |
# Postgres.app < 9.3.5.0 | |
#PG_APP="/Applications/Postgres.app/Contents/MacOS" | |
# Postgres.app >= 9.3.5.0 (check currently installed version first!) | |
#PG_APP="/Applications/Postgres.app/Contents/Versions/9.3/" | |
PG_APP="/Applications/Postgres.app/Contents/Versions/9.4/" | |
# El Capitan workaround | |
if [ $(uname -r | head -c2) = "15" ]; then | |
EXT_DIR=/usr/local/lib/php/extensions/ | |
mkdir -p $EXT_DIR | |
fi | |
# Check if extension exists first | |
php -m | grep pgsql | |
# Update brew and install requirements | |
brew update | |
brew install autoconf | |
# Download PHP source and extract | |
mkdir -p ~/src && cd ~/src | |
curl -O http://php.net/distributions/php-$PHP_VER.tar.bz2 | |
tar -xjf php-$PHP_VER.tar.bz2 | |
# Go to extension dir and phpize | |
cd ~/src/php-$PHP_VER/ext/pdo_pgsql/ | |
phpize | |
# Configure for Postgress.app or use just "./configure" for the brew version | |
./configure --with-pdo-pgsql=$PG_APP | |
make | |
# El Capitan workaround | |
if [ $(uname -r | head -c2) = "15" ]; then | |
cp ./modules/pdo_pgsql.so $EXT_DIR | |
else | |
sudo make install | |
fi | |
echo "extension=${EXT_DIR}pdo_pgsql.so" | sudo tee -a /private/etc/php.ini | |
# Go to extension dir and phpize | |
cd ~/src/php-$PHP_VER/ext/pgsql/ | |
phpize | |
# Configure for Postgress.app | |
# Use just "./configure" for brew version | |
./configure --with-pgsql=$PG_APP | |
make | |
# El Capitan workaround | |
if [ $(uname -r | head -c2) = "15" ]; then | |
cp ./modules/pgsql.so $EXT_DIR | |
else | |
sudo make install | |
fi | |
echo "extension=${EXT_DIR}pgsql.so" | sudo tee -a /private/etc/php.ini | |
# Check if extension exists, again | |
php -m | grep pgsql |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment