在Virtuoso Server

时间:2015-10-21 21:15:50

标签: php installation server virtuoso iodbc

我在Centos7上运行了一个Virtuoso服务器,并且一直试图能够从HTML表单执行PHP文件(即使是非常基本的只是为了测试),并且没有运气。我发现我必须安装PHP并且已经从virtuoso GitHub README.php5读取文档以在virtuoso服务器上设置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目录中使用另一个,如果这是正确的,那我会是什么?做到了吗?

非常感谢任何有关在Virtuoso服务器上进行PHP设置的帮助或建议。

1 个答案:

答案 0 :(得分:0)

您为iODBCunixODBC驱动程序管理员安装了冲突的软件包。强烈建议您选择其中一个。鉴于您正在使用Virtuoso(来自我的雇主,OpenLink Software),我建议您选择iODBC(也由OpenLink Software维护和支持,并且通常预计将由Virtuoso发现。

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,但能够超越上述报告的错误...这是一种猜测。