0
votes

I installed oci8 via PECL on Macos Mojave, for use with PHP and I had it all working, until I enabled SIP again. Now I get the following error when I try to use oci8:

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20160303/oci8.so' - dlopen(/usr/lib/php/extensions/no-debug-non-zts-20160303/oci8.so, 0x0009): code signature in (/usr/lib/php/extensions/no-debug-non-zts-20160303/oci8.so) not valid for use in process: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed. in Unknown on line 0

I googled my eyes out, but the only 'tips' I could find, are to disable Apache and PHP and install it all again via brew. Well, that is not an option. Also I found others who simply signed dylibs with codesign. But this is an .so and I don't know if it can be codesigned. Furthermore, I do not have an Apple Developer account, so codesign -s MyID will not work, AFAIK.

So my question is : does someone have an elegant solution to my problem?

I'm running Macos 10.14.6, PHP 7.1 with reinstalled versions of PEAR & PECL, Xcode, Xcode headers in /usr/include (for PECL), Oracle in /opt/oracle/instantclient_19_3/.

Thanks in advance!

1

1 Answers

0
votes

Put the Instant Client libraries in ~/lib or /usr/local/lib. You'll probably need to do the latter. See 3.5.4 in https://oracle.github.io/node-oracledb/INSTALL.html#instosx