Я хочу подключиться к моей базе данных оракула, но у меня есть проблема с функцией oci_connect. я попытался раскомментировать это:
extension=php_oci8.dll
но все еще есть ошибка:
Неустранимая ошибка: вызов неопределенной функции oci_connect () в C: \ xampp \ htdocs \ testing \ db.php в строке 71
Но, когда я проверяю phpinfo (), oci8 все еще не загружен, и я не могу подключиться к моей базе данных оракула. Я уже перезапускаю свой apache. Как я исправить эту проблему? Вы можете мне помочь?
Спасибо..
В Ubuntu 16.04, используя PHP 5.6, с 64-битным os, попробуйте следующее:
Установите пакеты:
sudo apt-get install php5.6-dev build-essential php-pear libaio1
Загрузите последнюю версию пакетов с:
http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
Найдите эти пакеты в соответствии с последней версией:
oracle-instantclientXX.X-basic-XX.XXXX-X.x86_64.rpm oracle-instantclientXX.X-devel-XX.XXXX-X.x86_64.rpm
Преобразование пакетов:
sudo apt-get install alien sudo alien oracle-instantclientXX.X-basic-XX.XXXX-X.x86_64.rpm sudo alien oracle-instantclientXX.X-devel-XX.XXXX-X.x86_64.rpm
Установка:
sudo dpkg -i oracle-instantclientXX.X-basic_XX.XXXX-X_amd64.deb sudo dpkg -i oracle-instantclientXX.X-devel_XX.XXXX-X_amd64.deb
Установка oci8:
sudo pecl install oci8-2.0.12 *Build process completed successfully Installing '/usr/lib/php/20131226/oci8.so' install ok: channel://pecl.php.net/oci8-2.0.12 configuration option "php_ini" is not set to php.ini location You should add "extension=oci8.so" to php.ini*
Добавьте расширение в php:
sudo gedit /etc/php/5.6/apache2/php.ini
добавьте расширение:
extension=oci8.so
Перезапустить apache:
sudo service apache2 restart
Вот и все.
В php.ini
убедитесь, что вы включили правильное расширение OCI (11g), например:
;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client
До тех пор, пока вы правильно установите Oracle 11gR2 или более крупные клиентские библиотеки, вы должны теперь иметь возможность запускать:
C:\>php --ri oci8
И получите результат:
oci8 OCI8 Support => enabled Version => 1.4.10 Revision => $Id: b0984d94e17f7c099470cd0a9404259f2a59da04 $ Active Persistent Connections => 0 Active Connections => 0 Oracle Run-time Client Library Version => 11.2.0.3.0 Oracle Instant Client Version => 11.2 Temporary Lob support => enabled Collections support => enabled Directive => Local Value => Master Value oci8.max_persistent => -1 => -1 oci8.persistent_timeout => -1 => -1 oci8.ping_interval => 60 => 60 oci8.privileged_connect => Off => Off oci8.statement_cache_size => 20 => 20 oci8.default_prefetch => 100 => 100 oci8.old_oci_close_semantics => Off => Off oci8.connection_class => no value => no value oci8.events => Off => Off
Чтобы проверить, что ваш клиент Oracle установлен правильно (т. PATH
переменной среды PATH
), вы можете запустить:
C:\>where oci*
Вы должны получить такой результат:
C:\instantclient_11_2\oci.dll C:\instantclient_11_2\oci.sym C:\instantclient_11_2\ocijdbc11.dll C:\instantclient_11_2\ocijdbc11.sym C:\instantclient_11_2\ociw32.dll C:\instantclient_11_2\ociw32.sym
Следуйте за ссылкой для меня Oracle
http://www.oracle.com/technetwork/articles/dsl/technote-php-instant-084410.html
Вот что работало с Xammp
1.uncomment extension = php_oci8_11g.dll; Использовать с Instant Client клиента Oracle 11gR2, если вы используете 11g (в php.ini)
2.add AddHandler fcgid-script .php to httpd.conf
3. Загрузите компонент FastCGI mod_fcgid-2.3.6-win32-x86.zip из httpd.apache.org/download.cgi#mod_fcgid
4. Включите его в установленный каталог Apache 2.2. Теперь каталог C: \ xamp \ apache \ modules должен иметь файлы mod_fcgid.so и mod_fcgid.pdb.
5. Загрузите «Мгновенный клиентский пакет – базовый» для Windows со страницы мгновенного клиента OTN. Поскольку PHP 32 бит, используйте 32-битную версию Instant Client.
Разархивируйте файлы мгновенных клиентов на C: \ instantclient_11_2
Измените настройку среды PATH Windows и добавьте C: \ instantclient_11_2. Например, в Windows XP следуйте за Пуском -> Панель управления -> Система -> Дополнительно -> Переменные среды и отредактируйте PATH в списке Системные переменные.
Обычно вам необходимо перезагрузить Windows, чтобы новая среда была правильно настроена.
это работало для меня всего наилучшего
Посмотрите на ответ RO_engineer на установку x86-файлов клиента Oracle insta, а не на версию x64. Он разрешил мою проблему, возможно, это тоже поможет.
https://stackoverflow.com/a/27177616/289587
Загрузите Instant Client для Microsoft Windows (32-разрядный)