Какой путь использовать при установке PHP OCI8 Linux Centos 8

У меня проблема, и я очень запутался в данный момент.

Я попытался установить мгновенный клиент oracle на свой linux centos 8. До сих пор я добился того, что httpd, php72 и mariadb работают нормально. Я могу запустить свой файл php на сервере.

Я следую этому руководству, чтобы включить php oci8 в моем стеке LAMPP.

https://medium.com/@azharnian/cara-install-oci8-php-7-di-centos7-851abbb5d15

Но застрял на этом шаге, который

sudo pecl install oci8

Командная строка попросит provide the path to the ORACLE_HOME directory. Обратитесь к изображению.

введите здесь описание изображения

Я загружаю и помещаю свой zip-пакет oracle-instant-client в свой /home/user/oracle

Что я пробовал до сих пор на этом этапе:

sudo sh -c "echo instantclient, /usr/lib64/php/modules"
sudo sh -c "echo instantclient_19_8, /usr/lib64/php/modules"
sudo sh -c "echo instantclient_19_8, /home/user/oracle/instantclient_19_8"
instantclient_19_8, /usr/lib64/php/modules/oci8.so
instantclient_19_8, /home/user/oracle/instantclient_19_8

Ошибки:

checking build system type... Invalid configuration `/usr/lib64/php/modules/oci8.so': machine `/usr/lib64/php/modules/oci8.so' not recognized

Что именно этот шаг хотите, чтобы я написал?

Ценю, если кто-то может показать мне правильный путь в этом. Большое спасибо.


person Rzj Hayabusa    schedule 28.07.2020    source источник


Ответы (1)


Загрузите и разархивируйте ZIP-файл Instant Client sdk в тот же каталог /home/user/oracle/instantclient_19_8, чтобы он выглядел примерно так:

  /home/user/oracle/instantclient_19_8:
  -r-xr-xr-x@  1 cjones  staff       5780  3 Jul 14:44 BASIC_LICENSE
  -rw-r--r--@  1 cjones  staff       1632  3 Jul 14:44 BASIC_README
  -r-xr-xr-x@  1 cjones  staff       5780  3 Jul 14:44 SDK_LICENSE
  -rw-r--r--@  1 cjones  staff       1626  3 Jul 14:44 SDK_README
  -rwxr-xr-x@  1 cjones  staff      41696  3 Jul 14:44 adrci
  -rwxr-xr-x@  1 cjones  staff      59272  3 Jul 14:44 genezi
  lrwxrwxrwx   1 cjones  staff         17 29 Jul 08:39 libclntsh.so -> libclntsh.so.19.1
  lrwxrwxrwx   1 cjones  staff         17 29 Jul 08:39 libclntsh.so.10.1 -> libclntsh.so.19.1
  lrwxrwxrwx   1 cjones  staff         17 29 Jul 08:39 libclntsh.so.11.1 -> libclntsh.so.19.1
  lrwxrwxrwx   1 cjones  staff         17 29 Jul 08:39 libclntsh.so.12.1 -> libclntsh.so.19.1
  lrwxrwxrwx   1 cjones  staff         17 29 Jul 08:39 libclntsh.so.18.1 -> libclntsh.so.19.1
  -rwxr-xr-x@  1 cjones  staff   80804848  3 Jul 14:44 libclntsh.so.19.1
  -rwxr-xr-x@  1 cjones  staff    8019360  3 Jul 14:44 libclntshcore.so.19.1
  -r-xr-xr-x@  1 cjones  staff    3608240  3 Jul 14:44 libipc1.so
  -r-xr-xr-x@  1 cjones  staff     478096  3 Jul 14:44 libmql1.so
  -rwxr-xr-x@  1 cjones  staff    6586360  3 Jul 14:44 libnnz19.so
  lrwxrwxrwx   1 cjones  staff         15 29 Jul 08:39 libocci.so -> libocci.so.19.1
  lrwxrwxrwx   1 cjones  staff         15 29 Jul 08:39 libocci.so.10.1 -> libocci.so.19.1
  lrwxrwxrwx   1 cjones  staff         15 29 Jul 08:39 libocci.so.11.1 -> libocci.so.19.1
  lrwxrwxrwx   1 cjones  staff         15 29 Jul 08:39 libocci.so.12.1 -> libocci.so.19.1
  lrwxrwxrwx   1 cjones  staff         15 29 Jul 08:39 libocci.so.18.1 -> libocci.so.19.1
  -rwxr-xr-x@  1 cjones  staff    2338456  3 Jul 14:44 libocci.so.19.1
  -rwxr-xr-x@  1 cjones  staff  130527608  3 Jul 14:44 libociei.so
  -r-xr-xr-x@  1 cjones  staff     153600  3 Jul 14:44 libocijdbc19.so
  -rwxr-xr-x@  1 cjones  staff     115760  3 Jul 14:44 liboramysql19.so
  drwxr-xr-x@  3 cjones  staff         96  3 Jul 14:44 network
  -rw-r--r--@  1 cjones  staff    4396157  3 Jul 14:44 ojdbc8.jar
  drwxr-xr-x@  7 cjones  staff        224  3 Jul 14:44 sdk
  -rw-r--r--@  1 cjones  staff    1681792  3 Jul 14:44 ucp.jar
  -rwxr-xr-x@  1 cjones  staff     236256  3 Jul 14:44 uidrvci
  -rw-r--r--@  1 cjones  staff      74263  3 Jul 14:44 xstreams.jar

Затем запустите

sudo sh -c "echo /home/user/oracle/instantclient_19_8 > /etc/ld.so.conf.d/oracle-instantclient.conf"
sudo ldconfig

(как показано в инструкциях по установке< /а>).

Затем в строке pecl install oci8 введите instantclient,/home/user/oracle/instantclient_19_8. Примечание. Я не использую пробелы после запятой. Я не помню, что произойдет, если вы используете пробел. На моих типичных хакерских машинах я обычно делаю все это как root:

sudo su -
pecl install oci8

но вы, вероятно, можете сделать какой-то вариант sudo sh -c и запустить echo "instantclient,/home/user/oracle/instantclient_19_8" | pecl install oci8

PS в https://www.oracle.com/database/technologies/underground-php-oracle-manual.html

person Christopher Jones    schedule 28.07.2020
comment
@Чистофер Спасибо. Сначала попробую. Извините за поздний ответ . - person Rzj Hayabusa; 30.07.2020