Сервер базы данных: ORACLE 12c
App-Server: Windows NT SERVER1 6.3 build 9200 (Windows Server 2012 R2 Standard Edition) i586
Apache: Apache/2.4.16 (Win32) PHP/5.6.13
PHP: php-5.6.13-Win32-VC11-x86
С помощью этих компонентов я пытаюсь выполнить этот небольшой скрипт php и получить это предупреждение:
<?php
foreach(PDO::getAvailableDrivers() as $driver)
{
echo $driver.'<br />';
}
?>
Warning: PHP Startup: Unable to load dynamic library 'C:/Program Files (x86)/php-5.6.13-Win32-VC11-x86/ext\php_pdo_oci.dll' - %1 ist keine zulässige Win32-Anwendung.
in Unknown on line 0
Перевод до сих пор: % 1 не допустимо Win32-приложение
Вопрос: PHP 5.6.13 (Win32) не может загрузить библиотеку ext/php_pdo_oci.dll из-за "это не Win32-приложение"?
Не знаю, что случилось.
Просто для закрытия этого вопроса решение.
32-битный PHP нуждается в 32-битном клиенте Oracle
Чтобы проверить, какой Oracle-клиент установлен, используйте TNSPING с этим маленьким сценарием Windows (CMD). myoracledb на основе записи TNSNAMES.ORA.
tnsping myoracledb
pause
Результат должен быть примерно таким...
TNS Ping Utility for 32-bit Windows: Version 12.1.0.1.0 - Production on 28-SEP-2015 10:51:44
Copyright (c) 1997, 2013, Oracle. All rights reserved.
[...]
.. для 32-разрядных Windows или... для 64-разрядных Windows