{"id":4582,"date":"2025-05-31T22:59:03","date_gmt":"2025-06-01T04:59:03","guid":{"rendered":"https:\/\/linuxitos.com\/main\/?p=4582"},"modified":"2025-05-31T22:59:04","modified_gmt":"2025-06-01T04:59:04","slug":"instalar-instantclient-oci8-php-fedora-42","status":"publish","type":"post","link":"https:\/\/linuxitos.com\/main\/instalar-instantclient-oci8-php-fedora-42\/","title":{"rendered":"Instalar InstantClient oci8 PHP | Fedora 42"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2025\/05\/instan-cliente-fc42.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"555\" src=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2025\/05\/instan-cliente-fc42-1024x555.png\" alt=\"\" class=\"wp-image-4583\" srcset=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2025\/05\/instan-cliente-fc42-1024x555.png 1024w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2025\/05\/instan-cliente-fc42-300x163.png 300w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2025\/05\/instan-cliente-fc42-768x416.png 768w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2025\/05\/instan-cliente-fc42.png 1200w\" 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 42.<\/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.27 como bases de datos instalado en Windows<\/li>\n\n\n\n<li>Laravel 12<\/li>\n\n\n\n<li>PHP 8.4<\/li>\n\n\n\n<li>XAMPP 8.2.12 es opcional, si tienen instalado en su equipo PHP<\/li>\n\n\n\n<li>Cliente de desarrollo Fedora 42<\/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.27<\/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.27, las cuales eran las compatibles con oci8 para php 8.4<\/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: <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.oracle.com\/database\/technologies\/instant-client\/linux-x86-64-downloads.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.oracle.com\/database\/technologies\/instant-client\/linux-x86-64-downloads.html<\/a><br><a href=\"https:\/\/www.oracle.com\/database\/technologies\/instant-client\/linux-x86-32-downloads.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.oracle.com\/database\/technologies\/instant-client\/linux-x86-32-downloads.html<\/a><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>instantclient-sdk-linux.x64-19.27.0.0.0dbru.zip<\/li>\n\n\n\n<li>instantclient-basic-linux.x64-19.27.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: Opcional<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/blog.linuxitos.com\/post\/instalar-xampp-8-2-12-fedora-39\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/blog.linuxitos.com\/post\/instalar-xampp-8-2-12-fedora-39<\/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_27<\/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 \/opt\/<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Desde el explorador de archivos ir la ruta \/opt\/oracle\/instantclient_19_27 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_27 &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 terminal 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_27:$PATH\nexport LD_LIBRARY_PATH=\/opt\/oracle\/instantclient_19_27:$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_27<\/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=\"\/usr\/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 42. 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":4583,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,1511],"tags":[1700,2046,2045,1817,1638,2047,1861,1818],"class_list":["post-4582","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-fedora","category-server","tag-apache","tag-client","tag-instant","tag-instantclient","tag-laravel","tag-modules","tag-oci8","tag-oracle"],"_links":{"self":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts\/4582","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=4582"}],"version-history":[{"count":2,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts\/4582\/revisions"}],"predecessor-version":[{"id":4585,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts\/4582\/revisions\/4585"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/media\/4583"}],"wp:attachment":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/media?parent=4582"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/categories?post=4582"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/tags?post=4582"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}