Добрый день, уважаемые сисадмины!
Мне нужен PHP на сервере с FreeBSD 10.2, чтобы я мог из него взаимодействовать с Ораклом.
Подскажите пожалуйста, каким образом можно реализовать сабжевую связку? Уже упарился ставить инстант клиенты и прочие SDK с эмуляцией линукса. Ни через сборку PHP, ни через сборку модуля pecl ничего не выходит.
> uname -a
FreeBSD lefcobank.processing 10.2-RELEASE FreeBSD 10.2-RELEASE
sersil@lefcobank.rul:/usr/obj/usr/src/sys/CUSTOM amd64
> php -v
PHP 5.6.17 (cli) (built: Jan 27 2016 00:38:42)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
pkg info | grep -i oracle
linux-oracle-instantclient-basic-10.2.0.3.20061115_5 Oracle 10 32Bit Linux InstantClient basics for RDBMS 8.1.2+
linux-oracle-instantclient-sdk-10.2.0.3.20061115,1 Oracle 10 InstantClient SDK. Works with Oracle RDBMS 8.1.2+
То есть shared objects(которые скомпилены для линукса, ибо проприетарщина) и headers. при компиляции с которыми получаем:
cat /usr/ports/lang/php56/Makefile | grep -i oci
--with-oci8=shared,instantclient,/compat/linux/usr/lib/oracle/10.2.0.3/client/lib/ \
При компиляции с получаем:
--- ext/oci8/oci8.la ---
/usr/bin/ld: skipping incompatible /compat/linux/usr/lib/oracle/10.2.0.3/client/lib//libclntsh.so when searching for -lclntsh
/usr/bin/ld: cannot find -lclntsh
cc: error: linker command failed with exit code 1 (use -v to see invocation)
*** [ext/oci8/oci8.la] Error code 1
Что не удивительно, ибо это .so линуксовый...
Пробовал ещё oracle8-client-0.2.0_1 Oracle 8 client
Но при указании его библиотек для сборки и pecl и php пишут, что too old...