У меня есть сервер Virtuoso, работающий на Centos7, и я пытаюсь выполнить PHP-файлы из HTML-формы (даже очень простой для тестирования), но мне не повезло. Я узнал, что должен был установить PHP, и читал документацию от виртуоза. GitHub README.php5 настроить PHP на виртуозном сервере. Я впервые настраиваю PHP, и у меня возникла проблема при попытке запустить make
команда. Я в каталоге /etc/php-5.2.10
и смогли запустить configure
Команда со всеми флагами. Ошибка от make
Я получаю команду:
/bin/sh /etc/php-5.2.10/libtool --silent --preserve-dup-deps --mode=compile
/etc/php-5.2.10/meta_ccld -I/usr/local/iODBC/include -Iext/odbc/ -I/etc/php-5.2.10/ext/odbc/
-DPHP_ATOM_INC -I/etc/php-5.2.10/include -I/etc/php-5.2.10/main -I/etc/php-5.2.10
-I/usr/local/iODBC/include -I/etc/php-5.2.10/ext/date/lib -I/usr/include/libxml2
-I/etc/php-5.2.10/ext/mbstring/oniguruma -I/etc/php-5.2.10/ext/mbstring/libmbfl
-I/etc/php-5.2.10/ext/mbstring/libmbfl/mbfl -I/etc/php-5.2.10/TSRM -I/etc/php-5.2.10/Zend
-D_REENTRANT -I/usr/include -g -O2 -pthread -DZTS
-c /etc/php-5.2.10/ext/odbc/php_odbc.c -o ext/odbc/php_odbc.lo
In file included from /etc/php-5.2.10/ext/odbc/php_odbc.c:37:0:
/etc/php-5.2.10/ext/odbc/php_odbc_includes.h:104:22: fatal error: iodbcext.h:
No such file or directory
#include <iodbcext.h>
^
compilation terminated.
make: *** [ext/odbc/php_odbc.lo] Error 1
Я не знаю, связаны ли эти пакеты, но для дополнительной информации у меня также установлены следующие пакеты:
libiodbc.x86_64 3.52.7-7.el7
libiodbc-devel.x86_64 3.52.7-7.el7
php-odbc.x86_64 5.4.16-36.el7_1
unixODBC.x86_64 2.3.1-10.el7
unixODBC-devel.x86_64 2.3.1-10.el7
Я бегал sudo find / -iname '*iodbcext.h*'
чтобы попытаться определить, где находится этот файл, и единственный результат, который я получаю, это /usr/include/libiodbc/iodbcext.h
, Тем не менее, я не уверен, что это то, что make
ищет или если должен быть еще один в php-5.2.10
каталог, который используется, и если это правильный, что я буду делать с ним?
Будем очень благодарны за любую помощь или совет по настройке PHP на сервере Virtuoso.
У вас установлены конфликтующие пакеты, для iODBC а также UnixODBC Менеджеры водителей. Настоятельно рекомендуется выбрать один или другой. Учитывая, что вы используете виртуоз (от моего работодателя, Программное обеспечение OpenLink), Я бы посоветовал вам остановиться на iODBC (также поддерживается и поддерживается Программное обеспечение OpenLink, и, как правило, ожидается, будет найден Виртуоз).
PHP не включает в себя iODBC SDK (libiodbc-devel.x86_64
), где находится заголовочный файл iodbcext.h
будет найден. Я должен отметить, что текущая версия iODBC 3.52.10, несколько позже, чем пакет, который вы установили …
Не ясно, какие варианты вы передали configure
чтобы получить make
скрипт, который вы запускаете Вы может быть в состоянии обойти вышеупомянутую ошибку, отредактировав второе вхождение -I/usr/local/iODBC/include
в make
сценарий, изменив его на -I/usr/include/libiodbc
… но это что-то вроде догадки.
Других решений пока нет …