php can't find zend extensions
| From: | Yuri Kanivetsky | Date: | Wed, 06 May 2015 15:15:34 +0000 |
| Subject: | php can't find zend extensions | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-324871@lists.php.net to get a copy of this message | ||
Hi,
I was trying to set up ioncube loader on my servers. On one of them all
went well. I've got php-5.6 there. On the other one, running php-5.4, it
couldn't find the *.so file. As far as I can tell, php doesn't look into
/usr/lib/php5 directory there:
$ strace php --version
...
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or
directory)
open("/lib/x86_64-linux-gnu/tls/x86_64/ioncube_loader_lin_5.4.so",
O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/lib/x86_64-linux-gnu/tls/x86_64", 0x7fff2cc8cf60) = -1 ENOENT
(No such file or directory)
open("/lib/x86_64-linux-gnu/tls/ioncube_loader_lin_5.4.so", O_RDONLY) =
-1 ENOENT (No such file or directory)
stat("/lib/x86_64-linux-gnu/tls", 0x7fff2cc8cf60) = -1 ENOENT (No such
file or directory)
open("/lib/x86_64-linux-gnu/x86_64/ioncube_loader_lin_5.4.so",
O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/lib/x86_64-linux-gnu/x86_64", 0x7fff2cc8cf60) = -1 ENOENT (No
such file or directory)
open("/lib/x86_64-linux-gnu/ioncube_loader_lin_5.4.so", O_RDONLY) = -1
ENOENT (No such file or directory)
stat("/lib/x86_64-linux-gnu", {st_mode=S_IFDIR|0755, st_size=4096,
...}) = 0
open("/usr/lib/x86_64-linux-gnu/tls/x86_64/ioncube_loader_lin_5.4.so",
O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/lib/x86_64-linux-gnu/tls/x86_64", 0x7fff2cc8cf60) = -1
ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/tls/ioncube_loader_lin_5.4.so",
O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/lib/x86_64-linux-gnu/tls", 0x7fff2cc8cf60) = -1 ENOENT (No
such file or directory)
open("/usr/lib/x86_64-linux-gnu/x86_64/ioncube_loader_lin_5.4.so",
O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/lib/x86_64-linux-gnu/x86_64", 0x7fff2cc8cf60) = -1 ENOENT
(No such file or directory)
open("/usr/lib/x86_64-linux-gnu/ioncube_loader_lin_5.4.so", O_RDONLY) =
-1 ENOENT (No such file or directory)
stat("/usr/lib/x86_64-linux-gnu", {st_mode=S_IFDIR|0755, st_size=20480,
...}) = 0
open("/lib/tls/x86_64/ioncube_loader_lin_5.4.so", O_RDONLY) = -1 ENOENT
(No such file or directory)
stat("/lib/tls/x86_64", 0x7fff2cc8cf60) = -1 ENOENT (No such file or
directory)
open("/lib/tls/ioncube_loader_lin_5.4.so", O_RDONLY) = -1 ENOENT (No
such file or directory)
stat("/lib/tls", 0x7fff2cc8cf60) = -1 ENOENT (No such file or
directory)
open("/lib/x86_64/ioncube_loader_lin_5.4.so", O_RDONLY) = -1 ENOENT (No
such file or directory)
stat("/lib/x86_64", 0x7fff2cc8cf60) = -1 ENOENT (No such file or
directory)
open("/lib/ioncube_loader_lin_5.4.so", O_RDONLY) = -1 ENOENT (No such
file or directory)
stat("/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/usr/lib/tls/x86_64/ioncube_loader_lin_5.4.so", O_RDONLY) = -1
ENOENT (No such file or directory)
stat("/usr/lib/tls/x86_64", 0x7fff2cc8cf60) = -1 ENOENT (No such file
or directory)
open("/usr/lib/tls/ioncube_loader_lin_5.4.so", O_RDONLY) = -1 ENOENT
(No such file or directory)
stat("/usr/lib/tls", 0x7fff2cc8cf60) = -1 ENOENT (No such file or
directory)
open("/usr/lib/x86_64/ioncube_loader_lin_5.4.so", O_RDONLY) = -1 ENOENT
(No such file or directory)
stat("/usr/lib/x86_64", 0x7fff2cc8cf60) = -1 ENOENT (No such file or
directory)
open("/usr/lib/ioncube_loader_lin_5.4.so", O_RDONLY) = -1 ENOENT (No
such file or directory)
stat("/usr/lib", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
munmap(0x7f1f3e188000, 37265) = 0
write(2, "Failed loading ioncube_loader_li"..., 128Failed loading
ioncube_loader_lin_5.4.so: ioncube_loader_lin_5.4.so: cannot open shared
object file: No such file or directory
) = 128
open("/usr/lib/php5/20100525/mysqlnd.so", O_RDONLY) = 6
...
As opposed to the php-5.6 server:
$ strace php --version
...
futex(0x7fbf391860c8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
open("/usr/lib/php5/20131226/ioncube_loader_lin_5.6.so",
O_RDONLY|O_CLOEXEC) = 3
read(3,
"\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220o\2\0\0\0\0\0"..., 832)
= 832
...
More details can be found here:
http://unix.stackexchange.com/questions/200602/php-cant-find-zend-extension-ioncube/201719
Was there some change in the way zend extensions are handled? Is it
governed by some configure options? Can I find out what options were
specified when building the package? Where am I supposed to put them for
php-5.4 or older? Should I specify full path?
I'm running debian 8 (php-5.6) and debian 7 (php-5.4) on the servers.
Regards,
Yuri