1 (edited by hilo 2016-07-24 14:11:28)

Topic: Erreur mise à jour PHP oci8.so, pdo_oci.so, libclntsh.so.12.1

Bonjour,

Depuis un moment j'ai un problème après chaque yum update au sujet de PHP. Alors, voilà, comme ça fait un moment que ça traine et que j'imagine que ça n'est pas complètement sans conséquences, je me décide à m'occuper du problème. J'ai déjà un peu regardé via Google, mais tout ce que je lis me parait un peu compliqué (oops).

Voici une copie partielle (j'ai centré sur le problème) du rapport de yum (les boutons "quote" et "code" du forum ne semble rien donner, alors je le colle comme ça, sorry):

PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/remi/php56/root/usr/lib64/php/modules/oci8.so' - libclntsh.so.12.1: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/remi/php56/root/usr/lib64/php/modules/pdo_oci.so' - libclntsh.so.12.1: cannot open shared object file: No such file or directory in Unknown on line 0
/var/tmp/rpm-tmp.Oz2DlL: line 3: 14382 Segmentation fault      /opt/remi/php56/root/usr/bin/pecl install --nodeps --soft --force --register-only --nobuild /opt/remi/php56/root/var/lib/pear/pkgxml/php56-php-pecl-zip.xml > /dev/null
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/oci8.so' - libclntsh.so.12.1: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/pdo_oci.so' - libclntsh.so.12.1: cannot open shared object file: No such file or directory in Unknown on line 0

[NB : liste de 110 verifications retirée]

Updated:
  gd-last.x86_64 0:2.2.3-1.el6.remi
  php.x86_64 0:5.6.24-1.el6.remi
  php-bcmath.x86_64 0:5.6.24-1.el6.remi
  php-cli.x86_64 0:5.6.24-1.el6.remi
  php-common.x86_64 0:5.6.24-1.el6.remi
  php-devel.x86_64 0:5.6.24-1.el6.remi
  php-gd.x86_64 0:5.6.24-1.el6.remi
  php-gmp.x86_64 0:5.6.24-1.el6.remi
  php-imap.x86_64 0:5.6.24-1.el6.remi
  php-intl.x86_64 0:5.6.24-1.el6.remi
  php-mbstring.x86_64 0:5.6.24-1.el6.remi
  php-mcrypt.x86_64 0:5.6.24-1.el6.remi
  php-mysqlnd.x86_64 0:5.6.24-1.el6.remi
  php-oci8.x86_64 0:5.6.24-1.el6.remi
  php-pdo.x86_64 0:5.6.24-1.el6.remi
  php-pecl-zip.x86_64 0:1.13.4-1.el6.remi.5.6
  php-process.x86_64 0:5.6.24-1.el6.remi
  php-recode.x86_64 0:5.6.24-1.el6.remi
  php-tidy.x86_64 0:5.6.24-1.el6.remi
  php-xml.x86_64 0:5.6.24-1.el6.remi
  php56-php.x86_64 0:5.6.24-1.el6.remi
  php56-php-bcmath.x86_64 0:5.6.24-1.el6.remi
  php56-php-cli.x86_64 0:5.6.24-1.el6.remi
  php56-php-common.x86_64 0:5.6.24-1.el6.remi
  php56-php-dba.x86_64 0:5.6.24-1.el6.remi
  php56-php-dbg.x86_64 0:5.6.24-1.el6.remi
  php56-php-devel.x86_64 0:5.6.24-1.el6.remi
  php56-php-embedded.x86_64 0:5.6.24-1.el6.remi
  php56-php-enchant.x86_64 0:5.6.24-1.el6.remi
  php56-php-fpm.x86_64 0:5.6.24-1.el6.remi
  php56-php-gd.x86_64 0:5.6.24-1.el6.remi
  php56-php-gmp.x86_64 0:5.6.24-1.el6.remi
  php56-php-imap.x86_64 0:5.6.24-1.el6.remi
  php56-php-interbase.x86_64 0:5.6.24-1.el6.remi
  php56-php-intl.x86_64 0:5.6.24-1.el6.remi
  php56-php-ldap.x86_64 0:5.6.24-1.el6.remi
  php56-php-litespeed.x86_64 0:5.6.24-1.el6.remi
  php56-php-mbstring.x86_64 0:5.6.24-1.el6.remi
  php56-php-mcrypt.x86_64 0:5.6.24-1.el6.remi
  php56-php-mssql.x86_64 0:5.6.24-1.el6.remi
  php56-php-mysqlnd.x86_64 0:5.6.24-1.el6.remi
  php56-php-oci8.x86_64 0:5.6.24-1.el6.remi
  php56-php-odbc.x86_64 0:5.6.24-1.el6.remi
  php56-php-opcache.x86_64 0:5.6.24-1.el6.remi
  php56-php-pdo.x86_64 0:5.6.24-1.el6.remi
  php56-php-pecl-zip.x86_64 0:1.13.4-1.el6.remi
  php56-php-pgsql.x86_64 0:5.6.24-1.el6.remi
  php56-php-process.x86_64 0:5.6.24-1.el6.remi
  php56-php-pspell.x86_64 0:5.6.24-1.el6.remi
  php56-php-recode.x86_64 0:5.6.24-1.el6.remi
  php56-php-snmp.x86_64 0:5.6.24-1.el6.remi
  php56-php-soap.x86_64 0:5.6.24-1.el6.remi
  php56-php-tidy.x86_64 0:5.6.24-1.el6.remi
  php56-php-xml.x86_64 0:5.6.24-1.el6.remi
  php56-php-xmlrpc.x86_64 0:5.6.24-1.el6.remi

Complete!

Ah, et je suis sous CentOS 6.8 x86_64 (kernel 2.6.32-642.3.1.el6.x86_64), avec Apache 2.2.15, PHP 5.6.24 (cli) et 5.6.23 (pour Apache, vu avec phpMyAdmin). Et aussi MySQL Community Server 5.5.50 (GPL) by Remi.

A noter que je ne suis pas administrateur réseau ou serveur mais développeur C++ (ce serveur me sert pour le travail en équipe sur mes projets ; forum, bug tracker, système de tickets, tests divers et (a)variés, du petit site d'info interne, des choses comme ça).

J'ai donc besoin de vos lumièèèères smile

Re: Erreur mise à jour PHP oci8.so, pdo_oci.so, libclntsh.so.12.1

> PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/remi/php56/root/usr/lib64/php/modules/oci8.so' - libclntsh.so.12.1: cannot open shared object file: No such file or directory in Unknown on line 0

Il faut que les clients Oracle 12.1 soient installés est accessible.

Cf: http://blog.remirepo.net/post/2006/02/0 … cle-en-php

Ou, si Oracle n'est pas utilisé, supprimer le paquet php-oci8

Laptop:  Fedora 38 + rpmfusion + remi (SCL only)
x86_64 builder: Fedora 39 + rpmfusion + remi-test
aarch64 builder: RHEL 9 with EPEL
Hosting Server: CentOS 8 Stream with EPEL, rpmfusion, remi

Re: Erreur mise à jour PHP oci8.so, pdo_oci.so, libclntsh.so.12.1

Et pourquoi avoir installé à la fois php 5.6 et php56-php  ?

Cf http://blog.remirepo.net/pages/FAQ-en-Francais#scl

Laptop:  Fedora 38 + rpmfusion + remi (SCL only)
x86_64 builder: Fedora 39 + rpmfusion + remi-test
aarch64 builder: RHEL 9 with EPEL
Hosting Server: CentOS 8 Stream with EPEL, rpmfusion, remi

4 (edited by hilo 2016-07-24 17:32:47)

Re: Erreur mise à jour PHP oci8.so, pdo_oci.so, libclntsh.so.12.1

J'ai pas mal d'install pour test/choix partout et parfois j'installe des trucs pour un ami ou un autre ; qu'il voit ce que ça donne... Bref, c'est pas du serveur de production c'est sûr LOL Bon, je vais aller lire le lien que tu me donnes (merci).

Et quant à php 5.6 + php56-php (le module Apache si j'ai tout compris ; sinon, faut m'éduquer:), eh bien, je ne me souviens plus : peut-être qu'à un moment quelque chose réclamait une version spécifique qui n'était pas celle en principal ; sais vraiment pas si ce que je dis là est pertinent, ce serveur en a vu des vertes et des pas mûres et je n'ai fichtre pas le temps de tout reprendre à zéro.... Mais maintenant que les deux sont au même niveau, que me conseillerais-tu de faire ?

EDIT : Bon, à ce stade, j'ai fait ceci et rien de plus ne semble à installer :

rpm -Uvh *.rpm
Preparing... ########################################### [100%]
package oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64 is already installed
package oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64 is already installed

yum  --enablerepo=remi  install  php-oci8  php-pdo
Package php-oci8-5.6.24-1.el6.remi.x86_64 already installed and latest version
Package php-pdo-5.6.24-1.el6.remi.x86_64 already installed and latest version
Nothing to do

yum install php-oci8*
Package php-oci8-5.6.24-1.el6.remi.x86_64 already installed and latest version
Nothing to do

Est-ce que dois poursuivre sur la config (point 3 de http://blog.remirepo.net/post/2006/02/0 … cle-en-php)?

Ah, et j'ai zieuté la variable d'environnement qui semble utile et elle est là:

$ echo $LD_LIBRARY_PATH
/usr/lib/oracle/12.1/client64/lib:/lib:/usr/lib

Et dans ledit répertoire, il y a bien:

libclntshcore.so       libmql1.so       libocijdbc12.so   ottclasses.zip
libclntshcore.so.12.1  libnnz12.so      libons.so         xstreams.jar
libclntsh.so           libocci.so       liboramysql12.so
libclntsh.so.12.1      libocci.so.12.1  ojdbc6.jar
libipc1.so             libociei.so      ojdbc7.jar

Re: Erreur mise à jour PHP oci8.so, pdo_oci.so, libclntsh.so.12.1

> Ah, et j'ai zieuté la variable d'environnement qui semble utile et elle est là:

Donc, il ne devrait plus y aviur de message (php -v et php -m) pour confirmer.

> Mais maintenant que les deux sont au même niveau, que me conseillerais-tu de faire ?

Avoir 2 versions identiques ne me semble pas très utiles.
Le plus simple et de garder uniquement "php-*" (donc de supprimer php56-php\*)

Attention, la liste des extensions installées n'est pas la même.

Laptop:  Fedora 38 + rpmfusion + remi (SCL only)
x86_64 builder: Fedora 39 + rpmfusion + remi-test
aarch64 builder: RHEL 9 with EPEL
Hosting Server: CentOS 8 Stream with EPEL, rpmfusion, remi

6 (edited by hilo 2016-07-25 08:54:52)

Re: Erreur mise à jour PHP oci8.so, pdo_oci.so, libclntsh.so.12.1

Dac pour la désinstallation de php56-php\*, je ferai ça à tête reposée. Merci.

Bon, voilà ce que me renvoient les deux commandes:

$ php -v
PHP 5.6.24 (cli) (built: Jul 21 2016 07:42:08)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

$ php -m
[PHP Modules]
apc
apcu
bcmath
bz2
calendar
Core
ctype
curl
date
dom
ereg
exif
fileinfo
filter
ftp
gd
gettext
gmp
hash
iconv
imap
intl
json
libxml
mbstring
mcrypt
mhash
mysql
mysqli
mysqlnd
oci8
openssl
pcntl
pcre
PDO
pdo_mysql
PDO_OCI
pdo_sqlite
Phar
posix
readline
recode
Reflection
session
shmop
SimpleXML
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tidy
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
zip
zlib

[Zend Modules]

Aussi, à tout hasard, j'ai relancé un yum update et toujours le même type d'erreurs persiste :s

Updating:
 php56-php-pecl-eio       x86_64       2.0.1-1.el6.remi        remi        42 k

Transaction Summary
================================================================================
Upgrade       1 Package(s)

Total download size: 42 k
Is this ok [y/N]: y
Downloading Packages:
php56-php-pecl-eio-2.0.1-1.el6.remi.x86_64.rpm           |  42 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating   : php56-php-pecl-eio-2.0.1-1.el6.remi.x86_64                   1/2
PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/remi/php56/root/usr/lib64/php/modules/oci8.so' - libclntsh.so.12.1: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/remi/php56/root/usr/lib64/php/modules/pdo_oci.so' - libclntsh.so.12.1: cannot open shared object file: No such file or directory in Unknown on line 0
/var/tmp/rpm-tmp.A4y6Mn: line 3: 21322 Segmentation fault      /opt/remi/php56/root/usr/bin/pecl install --nodeps --soft --force --register-only --nobuild /opt/remi/php56/root/var/lib/pear/pkgxml/php56-php-pecl-eio.xml > /dev/null
  Cleanup    : php56-php-pecl-eio-2.0.0-1.el6.remi.x86_64                   2/2
PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/remi/php56/root/usr/lib64/php/modules/oci8.so' - libclntsh.so.12.1: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/remi/php56/root/usr/lib64/php/modules/pdo_oci.so' - libclntsh.so.12.1: cannot open shared object file: No such file or directory in Unknown on line 0
/var/tmp/rpm-tmp.N7Cw5k: line 3: 21327 Segmentation fault      /opt/remi/php56/root/usr/bin/pecl install --nodeps --soft --force --register-only --nobuild /opt/remi/php56/root/var/lib/pear/pkgxml/php56-php-pecl-eio.xml > /dev/null
  Verifying  : php56-php-pecl-eio-2.0.1-1.el6.remi.x86_64                   1/2
  Verifying  : php56-php-pecl-eio-2.0.0-1.el6.remi.x86_64                   2/2

Updated:
  php56-php-pecl-eio.x86_64 0:2.0.1-1.el6.remi

Complete!

Mais que faire de plus, donc ?

Re: Erreur mise à jour PHP oci8.so, pdo_oci.so, libclntsh.so.12.1

L'environnement est bon, puisque php -v et php -m n'affiche aucune erreur, et que oci8 est listé.

Je ne vois pas ce qui est différent dans le cas de la SCL.

"php56 -v" et "php56 -m" affiche quoi ?

Laptop:  Fedora 38 + rpmfusion + remi (SCL only)
x86_64 builder: Fedora 39 + rpmfusion + remi-test
aarch64 builder: RHEL 9 with EPEL
Hosting Server: CentOS 8 Stream with EPEL, rpmfusion, remi

Re: Erreur mise à jour PHP oci8.so, pdo_oci.so, libclntsh.so.12.1

Oh! quelque chose qui va peut-être plus te parler (heu, enfin, moi pas parce qu'un SEGFAULT sans debugger, ça ne me parle pas clairement:)

$ php56 -v
PHP 5.6.24 (cli) (built: Jul 21 2016 07:11:07)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with XCache v3.2.0, Copyright (c) 2005-2014, by mOo
    with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v5.1.2, Copyright (c) 2002-2016, by ionCube Ltd.
    with uopz v2.0.7, Copyright (c) 2014, by Joe Watkins <krakjoe@php.net>
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
    with Xdebug v2.4.0, Copyright (c) 2002-2016, by Derick Rethans
    with strict v0.4.1, Copyright (c) 2014, by Joe Watkins <krakjoe@php.net>
    with Suhosin v0.9.38, Copyright (c) 2007-2015, by SektionEins GmbH
    with XCache Optimizer v3.2.0, Copyright (c) 2005-2014, by mOo
    with XCache Cacher v3.2.0, Copyright (c) 2005-2014, by mOo
    with XCache Coverager v3.2.0, Copyright (c) 2005-2014, by mOo
Segmentation fault

et

$ php56 -m
[PHP Modules]
amqp
apc
apcu
apfd
apm
ares
bbcode
bcmath
binpack
bitset
blenc
bz2
cairo
calendar
cassandra
chdb
Core
couchbase
crypto
ctype
curl
date
dba
dbase
dbus
dio
dom
dom_varimport
doublemetaphone
eio
enchant
ereg
ev
event
exif
expect
fann
fileinfo
filter
ftp
gd
gearman
gender
geoip
gettext
gmp
gnupg
graphdat
haru
hash
hidef
horde_lz4
hprose
hrtime
http
iconv
igbinary
imap
inclued
inotify
interbase
intl
ionCube Loader
ircclient
json
json_post
jsond
judy
krb5
ldap
leveldb
libsmbclient
libsodium
libxml
lua
lzf
mailparse
mbstring
mcrypt
memcache
memcached
memprof
mhash
mogilefs
mongo
mongodb
msgpack
mssql
mysql
mysqli
mysqlnd
mysqlnd_ms
mysqlnd_qc
ncurses
newt
OAuth
oci8
odbc
openssl
parsekit
PC/SC
pcntl
pcre
PDFlib
PDO
pdo_dblib
PDO_Firebird
pdo_mysql
PDO_OCI
PDO_ODBC
pdo_pgsql
pdo_sqlite
pgsql
phalcon
Phar
phk
pimple
posix
propro
protocolbuffers
pspell
quickhash
radius
raphf
rar
rdkafka
readline
recode
redis
Reflection
riak
runkit
scream
scrypt
SeasLog
selinux
session
shmop
SimpleXML
smbclient
snmp
soap
sockets
solr
sphinx
SPL
SPL_Types
SQLite
sqlite3
ssdeep
ssh2
standard
stats
Stomp
strict
suhosin
swoole
sybase_ct
sync
sysvmsg
sysvsem
sysvshm
termbox
tidy
tokenizer
trace
trader
twig
uopz
uploadprogress
uri_template
uuid
vld
wddx
Weakref
xattr
XCache
XCache Cacher
XCache Coverager
XCache Optimizer
xdebug
xhprof
xml
xmldiff
xmlreader
xmlrpc
xmlwriter
xmp
xrange
xsl
xslcache
xxtea
yac
yaf
yaml
yar
yaz
yp
Zend OPcache
zip
zlib
zmq

[Zend Modules]
XCache Cacher
XCache Coverager
XCache Optimizer
Xdebug
Zend OPcache
strict
the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured)
uopz

Segmentation fault

En tout cas, cette fois, y a matière à réflexion...

Re: Erreur mise à jour PHP oci8.so, pdo_oci.so, libclntsh.so.12.1

Vouloir installer tout ce qui existe me semble une très mauvaise idée

Certaines combinaison peuvent entrainer ces problèmes (sans parler des perfs et de la consommation mémoire)

Mais retrouver le "couple" responsable du plantage est juste... compliqué
So tu le trouve, je suis preneur de l'information.

Laptop:  Fedora 38 + rpmfusion + remi (SCL only)
x86_64 builder: Fedora 39 + rpmfusion + remi-test
aarch64 builder: RHEL 9 with EPEL
Hosting Server: CentOS 8 Stream with EPEL, rpmfusion, remi

Re: Erreur mise à jour PHP oci8.so, pdo_oci.so, libclntsh.so.12.1

Désolé du temps de réponse/réaction, mais, bon, c'est en fait un peu parce que je suis en permanence débordé que je ne suis pas bien ce serveur (sic)... Cela dit, je ne me plains pas, je l'ai cherché (à être débordé, pas à avoir un PHP bancal:)

Yep, je suis bien d'accord (quant à ne pas charger n'importe quoi), mais à l'origine ce serveur était un terrain de jeu, puis il est devenu un élément indispensable au fil du temps et de l'ajout de pièces essentielles à mes développements.

Bon, je crois que je peux déjà virer deux trois-pièces que je n'utilise plus du tout (Mautic, OS Tickets et Wordpress pour ne rien te cacher -- et si jamais tu étais au courant d'un blème particulier avec eux).

Quoi qu'il en soit, merci de t'être penché sur mon cas. Si par hasard j'avais du neuf, je viendrai évidemment le dire ici...