🦁
phpenvにOracleのoci8とPDO_CLIをインストールする」
概要
phpenv に oci8 と PDO_CLI をインストールする機会があったので、まとめます。
インストール方法
Oracle の環境構築
Oracle Instant Client をインストール
Oracle のサイト(url)から、以下をダウンロードします。
- instantclient-basic-macos.x64-12.2.0.1.0-2.zip
- instantclient-sqlplus-macos.x64-12.2.0.1.0-2.zip
- instantclient-tools-macos.x64-12.2.0.1.0-2.zip
- instantclient-sdk-macos.x64-12.2.0.1.0-2.zip
パッケージの展開
パッケージを展開して、Oracle の実行環境を作ります。
cd ~/Downloads
sudo mkdir /usr/local/instantclient/
unzip instantclient-basic-macos.x64-12.2.0.1.0-2.zip
unzip instantclient-sqlplus-macos.x64-12.2.0.1.0-2.zip
unzip instantclient-tools-macos.x64-12.2.0.1.0-2.zip
unzip instantclient-sdk-macos.x64-12.2.0.1.0-2.zip
sudo mv instantclient_12_2 /usr/local/instantclient/12.2.0.1.0
echo 'export ORACLE_HOME="/usr/local/instantclient/12.2.0.1.0"' >> ~/.zshrc
echo 'export TNS_ADMIN="$ORACLE_HOME"' >> ~/.zshrc
exec $SEHLL -l
phpenv で php をインストール
phpenv で php(7.3.29)をインストールします。
インストールする前に oci8 と pdo-oci のパスを環境変数で与えます。
必要なパッケージは以下の記事を参照してください。
export PHP_BUILD_CONFIGURE_OPTS="\
--disable-fpm \
--disable-phpdbg \
--enable-debug \
--with-bz2=$(brew --prefix bzip2) \
--with-curl=$(brew --prefix curl) \
--with-gettext=$(brew --prefix gettext) \
--with-gmp=$(brew --prefix gmp) \
--with-iconv=$(brew --prefix libiconv) \
--with-icu-dir=$(brew --prefix icu4c) \
--with-jpeg-dir=$(brew --prefix jpeg) \
--with-libedit=$(brew --prefix libedit) \
--with-libxml-dir=$(brew --prefix libxml2) \
--with-libzip=$(brew --prefix libzip)
--with-mcrypt=$(brew --prefix libmcrypt) \
--with-png-dir=$(brew --prefix libpng) \
--with-readline=$(brew --prefix readline) \
--with-tidy=$(brew --prefix tidy-html5) \
--with-xsl=$(brew --prefix libxslt) \
--with-zlib=$(brew --prefix zlib) \
--with-oci8=shared,instantclient,/usr/local/instantclient/12.2.0.1.0 \
--with-pdo-oci=shared,instantclient,/usr/local/instantclient/12.2.0.1.0 \
--with-kerberos"
環境変数の宣言が終わったら、php をインストールします。
エラーなくビルドができたら完了です。
phpenv install 7.3.29
Discussion