3

У меня есть среда CentOS, работающая в качестве гостя виртуальной машины. Он работает и Oracle 12.1 Database, наряду с PHP 5.4.16, на Apache 2.0.

Я прошел все этапы установки, чтобы убедиться, что установлены правильные драйверы OCI. Я использую версию 2.0.10, как указано здесь: здесь >>, и указал на правильный $ORACLE_HOME .

Как видно из phpinfo() , расширение oci загружается из каталога расширений:

phpinfo() извлечь

Однако в оставшейся части phpinfo() нет соответствующей записи OCI8 (как описано здесь >>).

Содержимое /etc/php.d/oci8.ini выглядит следующим образом:

; Created by me: 2016-02-08
extension=oci8.so

Мой каталог расширений:

PHP-расширения dir

И файлы в этом каталоге выглядят корректно в отношении привилегий и контекста SELinux (как вы видите здесь):

Когда я загружаю свой файл index.php в браузер, он загружается в основном успешно, за исключением того факта, что любая ссылка на код OCI (переменные, константы, функции) является ошибочной (это означает, что расширение не имеет был зарегистрирован внутри PHP):

загрузка index.php в браузер

У кого-нибудь есть идея относительно того, что я должен сделать, чтобы правильно зарегистрировать расширение OCI8 внутри PHP?

=== РЕДАКТИРОВАТЬ / РЕШЕНИЕ ?? ===

Я выключил SELinux (см. Это с практическими рекомендациями), и внезапно OCI, казалось, работал. Это ни в коем случае не идеальное решение, поскольку делает всю ОС более уязвимой. Но это будет соответствовать моим требованиям на данный момент.

С другой стороны, если кто-то знает, как включить SELinux и заставить его работать с OCI8, ваши комментарии будут очень благодарны!

0