在通过Apache进行连接时,在PHP的Fedora上使用php-odbc和virtuoso-opensource进行默认安装时,我得到了以下错误:
[unixODBC][OpenLink][Virtuoso iODBC Driver]CL033: Connect failed to localhost:1111 = localhost:1111.测试代码:
<?php
$conn = odbc_connect('VOS', 'dba', 'dba');
echo odbc_errormsg();
$query = 'SELECT DISTINCT ?g WHERE {GRAPH ?g {?s ?p ?o.}}';
$result = odbc_exec($conn, 'CALL DB.DBA.SPARQL_EVAL(\'' . $query . '\', NULL, 0)');
?>
<ul>
<?php while (odbc_fetch_row($result)): ?>
<li><?php echo odbc_result($result, 1) ?></li>
<?php endwhile; ?>
</ul>ODBC配置档案:
#/etc/odbc.ini
[ODBC Data Sources]
VOS = Virtuoso
[VOS]
Driver = virtuoso-odbc
Description = Virtuoso Open-Source Edition
Address = localhost:1111
#/etc/odbcinst.ini
[virtuoso-odbc]
Driver = /usr/lib/virtodbc.so如有任何建议,将不胜感激。
ETA:测试PHP -> ODBC -> Virtuoso脚本在命令行中运行良好,问题是Apache -> ODBC -> Virtuoso,现在我正在检查selinux等( Fedora安装)没有阻塞服务器。
发布于 2015-12-27 15:06:35
解决了,一个SELinux问题,我对我现在安装的Fedora发行版有点陌生。完整的答案是这里,总之,下面的命令允许httpd进行网络连接:
setsebool -P httpd_can_network_connect 1https://stackoverflow.com/questions/34476434
复制相似问题