{"id":3487,"date":"2022-05-23T00:06:32","date_gmt":"2022-05-23T05:06:32","guid":{"rendered":"https:\/\/linuxitos.com\/main\/?p=3487"},"modified":"2023-04-20T16:10:52","modified_gmt":"2023-04-20T22:10:52","slug":"instalar-instantclient-de-oracle-y-fedora-36","status":"publish","type":"post","link":"https:\/\/linuxitos.com\/main\/instalar-instantclient-de-oracle-y-fedora-36\/","title":{"rendered":"Instalar oci8 e instantclient de oracle para Laravel | Fedora 36"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/05\/ocinotconect_Layer-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"477\" src=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/05\/ocinotconect_Layer-1-1024x477.png\" alt=\"\" class=\"wp-image-3490\" srcset=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/05\/ocinotconect_Layer-1-1024x477.png 1024w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/05\/ocinotconect_Layer-1-300x140.png 300w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/05\/ocinotconect_Layer-1-768x358.png 768w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/05\/ocinotconect_Layer-1.png 1068w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Introducci\u00f3n<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Hace unos d\u00edas tuve unos problemas para vincular un proyecto de laravel con oracle, la base de datos estaba instalada en un servidor remoto en Windows, y el proyecto laravel, estaba siendo desarrollado con in cliente en Fedora 36.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Caracter\u00edsticas<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Servidor oracle 19.3 como bases de datos instalado en Windows<\/li>\n\n\n\n<li>Laravel 8<\/li>\n\n\n\n<li>PHP 8.1<\/li>\n\n\n\n<li>XAMPP 8.1.6<\/li>\n\n\n\n<li>Cliente de desarrollo Fedora 36<\/li>\n\n\n\n<li>IDE VScode<\/li>\n\n\n\n<li>Plugin utilizado para vincular Yajra\\oci8<\/li>\n\n\n\n<li>Instantclient 19.9<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Descargar archivo de instalaci\u00f3n<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Descargar los archivos que correspondan a la versi\u00f3n requerida para su proyecto, en este caso se usaron las versiones 19.9, las cuales eran las compatibles con oci8 para php 8.1.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Descargar los archivos .zip que correspondan al SDK y el archivo que diga Basic, del sitio oficial de oracle: <a href=\"https:\/\/www.oracle.com\/database\/technologies\/instant-client\/precompiler-downloads.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.oracle.com\/database\/technologies\/instant-client\/precompiler-downloads.html<\/a><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>instantclient-sdk-linux.x64-19.15.0.0.0dbru.zip<\/li>\n\n\n\n<li>instantclient-basic-linux.x64-19.9.0.0.0dbru.zip<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Instalaci\u00f3n<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/05\/Screenshot-from-2022-05-22-23-13-09-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"532\" src=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/05\/Screenshot-from-2022-05-22-23-13-09-1-1024x532.png\" alt=\"\" class=\"wp-image-3492\" srcset=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/05\/Screenshot-from-2022-05-22-23-13-09-1-1024x532.png 1024w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/05\/Screenshot-from-2022-05-22-23-13-09-1-300x156.png 300w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/05\/Screenshot-from-2022-05-22-23-13-09-1-768x399.png 768w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/05\/Screenshot-from-2022-05-22-23-13-09-1.png 1118w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Previamente se requiere la instalaci\u00f3n de XAMPP, aqu\u00ed la gu\u00eda de instalaci\u00f3n: <a href=\"https:\/\/blog.linuxitos.com\/post\/instalar-xampp-8-1-6-fedora-36\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/blog.linuxitos.com\/post\/instalar-xampp-8-1-6-fedora-36<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez descargado los archivos correspondientes a la versi\u00f3n que se requiera, se procede a instalar y configurar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Crear un directorio en la ruta \/opt con el nombre de oracle, y dentro otra carpeta con la versi\u00f3n instantclient_19_9<\/p>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">sudo nautilus<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Desde el explorador de archivos ir la ruta \/opt\/oracle\/instantclient_19_9 y descomprimir el contenido de los archivos .zip descargados, \u00fanicamente el contenido y no la carpeta principal<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez copiado los archivos, instalar los siguientes paquetes:<\/p>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">sudo dnf install libnsl mod_perl php php-devel php-cli php-pdo php-gd composer php-pear libaio<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez instalado los paquetes, ejecutar los siguientes comandos:<\/p>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">sudo sh -c \"echo \/opt\/oracle\/instantclient_19_9 &gt; \/etc\/ld.so.conf.d\/oracle-instantclient.conf\"<\/pre>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">sudo ldconfig<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Editar el archivo de configuraci\u00f3n de la termina que usen, en \u00e9ste caso se usa zsh por lo que se debe editar el archivo ~\/.zshrc, en caso de que sea por defecto bash, el archivo ser\u00e1 ~\/.bashrc abrir el archivo, y en la secci\u00f3n de export, agregar las siguientes l\u00edneas:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>export PATH=\/opt\/oracle\/instantclient_19_9:$PATH\nexport LD_LIBRARY_PATH=\/opt\/oracle\/instantclient_19_9:$LD_LIBRARY_PATH<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez copiado los archivos, se procede a instalar oci8 con el siguiente comando:<\/p>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">sudo pecl install oci8<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Si por alguna raz\u00f3n marca error con el archivo oci8_dtrace_gen.h; entonces intentar compilar de \u00e9sta forma<\/p>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">sudo PHP_DTRACE=yes pecl install oci8<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">En \u00e9ste comando, solicitar\u00e1 el directorio de instalaci\u00f3n de instantclient, por lo que se debe ingresar la ruta de la siguiente manera:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>instantclient,\/opt\/oracle\/instantclient_19_9<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Finalmente se edita el archivo \/etc\/php.ini para a\u00f1adir la ruta de la libreria:<\/p>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">sudo gnome-text-editor \/etc\/php.ini<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Y a\u00f1adir en la secci\u00f3n de librer\u00edas, la siguiente l\u00ednea:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>extension=\"\/lib64\/php\/modules\/oci8.so\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Para verificar que se haya activado correctamente la librer\u00eda, con el comando siguiente deber\u00e1 mostrar la siguiente salida:<\/p>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">php -m |grep oci8<\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/05\/Screenshot-from-2022-05-23-00-03-14.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"287\" src=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/05\/Screenshot-from-2022-05-23-00-03-14-1024x287.png\" alt=\"\" class=\"wp-image-3493\" srcset=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/05\/Screenshot-from-2022-05-23-00-03-14-1024x287.png 1024w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/05\/Screenshot-from-2022-05-23-00-03-14-300x84.png 300w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/05\/Screenshot-from-2022-05-23-00-03-14-768x215.png 768w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/05\/Screenshot-from-2022-05-23-00-03-14.png 1110w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Y si la salida es parecida a \u00e9sta, entonces la instalaci\u00f3n fue satisfactoria, de otro modo, revisar el proceso de instalaci\u00f3n, y ahora, ya se podr\u00e1 utiliazar desde laravel.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si por alguna raz\u00f3n no lo muestra, o marca error, reiniciar el equipo, o bien cerrar la terminal y volver a iniciarla.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora, XAMPP se us\u00f3 como el servidor de PHP, en \u00e9ste ejemplo, no se usar PHP instalado de manera independiente, sino que se usa a trav\u00e9s de XAMPP. Por lo que el proyecto debe estar alojado en \/opt\/lampp\/htdocs\/ una vez que se inicie, se podr\u00e1 lanzar laravel<\/p>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">sudo \/opt\/lampp\/lampp start<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Iniciar laravel<\/p>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">php artisan serve<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Actualizar OCI8 en cada versi\u00f3n de PHP<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">En cada actualizaci\u00f3n de versi\u00f3n de PHP es necesario actualizar la librer\u00eda, y para \u00e9sto se debe ejecutar los comandos siguientes:<\/p>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">sudo pecl uninstall oci8<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez desinstalado la extensi\u00f3n, ahora es necesario volver a instalar para que se compile de nuevo:<\/p>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">sudo pecl install oci8<\/pre>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">sudo PHP_DTRACE=yes pecl install oci8<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Y eso ser\u00eda todo<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Fuentes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/answergig.com\/34\/how-to-install-oracle-instant-client-and-php-oci8-module?show=35\" target=\"_blank\">https:\/\/answergig.com\/34\/how-to-install-oracle-instant-client-and-php-oci8-module?show=35<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/www.oracle.com\/database\/technologies\/instant-client\/linux-x86-64-downloads.html\" target=\"_blank\">https:\/\/www.oracle.com\/database\/technologies\/instant-client\/linux-x86-64-downloads.html<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/docs.oracle.com\/en\/database\/oracle\/oracle-database\/21\/lacli\/install-instant-client-using-rpm.html#GUID-2E81E2AE-E94C-413F-99B2-AE9A3949F05D\" target=\"_blank\">https:\/\/docs.oracle.com\/en\/database\/oracle\/oracle-database\/21\/lacli\/install-instant-client-using-rpm.html#GUID-2E81E2AE-E94C-413F-99B2-AE9A3949F05D<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/yum.oracle.com\/oracle-instant-client.html\" target=\"_blank\">https:\/\/yum.oracle.com\/oracle-instant-client.html<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/docs.oracle.com\/en\/database\/oracle\/oracle-database\/21\/lacli\/install-instant-client-using-zip.html#GUID-D3DCB4FB-D3CA-4C25-BE48-3A1FB5A22E84\" target=\"_blank\">https:\/\/docs.oracle.com\/en\/database\/oracle\/oracle-database\/21\/lacli\/install-instant-client-using-zip.html#GUID-D3DCB4FB-D3CA-4C25-BE48-3A1FB5A22E84<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/stackoverflow.com\/questions\/67112457\/libnnz19-so-cannot-open-shared-object-file-no-such-file-or-directory\" target=\"_blank\">https:\/\/stackoverflow.com\/questions\/67112457\/libnnz19-so-cannot-open-shared-object-file-no-such-file-or-directory<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/blog.yannickjaquier.com\/linux\/php-oci8-and-pdo_oci-extensions-installation-to-access-oracle.html\" target=\"_blank\">https:\/\/blog.yannickjaquier.com\/linux\/php-oci8-and-pdo_oci-extensions-installation-to-access-oracle.html<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Introducci\u00f3n Hace unos d\u00edas tuve unos problemas para vincular un proyecto de laravel con oracle, la base de datos estaba instalada en un servidor remoto en Windows, y el proyecto laravel, estaba siendo desarrollado con in cliente en Fedora 36. Caracter\u00edsticas Descargar archivo de instalaci\u00f3n Descargar los archivos que correspondan a la versi\u00f3n requerida para [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3490,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,1511,1431,1165],"tags":[1819,1820,1817,1638,1860,1822,1861,1818,1821],"class_list":["post-3487","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-fedora","category-server","category-servicios","category-servidor-php","tag-instalar-instantclient","tag-install-instantclient","tag-instantclient","tag-laravel","tag-oci","tag-oci_connect","tag-oci8","tag-oracle","tag-yajra"],"_links":{"self":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts\/3487","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/comments?post=3487"}],"version-history":[{"count":11,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts\/3487\/revisions"}],"predecessor-version":[{"id":4005,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts\/3487\/revisions\/4005"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/media\/3490"}],"wp:attachment":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/media?parent=3487"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/categories?post=3487"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/tags?post=3487"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}