帮助获得 Apache2 中的权限以使 ODBC 驱动程序在浏览器中工作

帮助获得 Apache2 中的权限以使 ODBC 驱动程序在浏览器中工作

我是 LAMP 环境的新手,在浏览器查看 ODBC 查询时遇到了一些问题。我的 php 代码在 root 下的控制台中可以运行,但如果我以 www-data 用户身份运行文件,它会像浏览器一样失败。

以下是 php 代码:

<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');

  $conn = odbc_connect("NetSuite", "username", "pw");

  if (!$conn) {
    die(' Could not connect: ' . odbc_error($conn));
  }
  $query = odbc_prepare($conn, "SELECT CUSTOMER_SERIAL_NUMBER FROM CUSTOMER_SERIAL_NUMBER");
  $success = odbc_execute($query, array('Data'));
  if($success)
  odbc_result_all($query);
 ?>

这是我在浏览器和控制台中遇到的错误(以 www-data 用户身份运行时):

PHP Warning:  odbc_connect(): SQL error: [unixODBC][Driver Manager]Can't open lib '/opt/netsuite/odbcclient/lib64/ivoa25.so' : file not found, SQL state 01000 in SQLConnect in /var/www/html/GetNSData_1.php on line 5

Warning: odbc_connect(): SQL error: [unixODBC][Driver Manager]Can't open lib '/opt/netsuite/odbcclient/lib64/ivoa25.so' : file not found, SQL state 01000 in SQLConnect in /var/www/html/GetNSData_1.php on line 5
PHP Warning:  odbc_error() expects parameter 1 to be resource, boolean given in /var/www/html/GetNSData_1.php on line 8

Warning: odbc_error() expects parameter 1 to be resource, boolean given in /var/www/html/GetNSData_1.php on line 8

我的驱动程序文件夹设置为 /opt/netsuite/odbcclient/lib64 以下是我的权限细目:

drwxr-xr-x   3 www-data root      4096 Jul 28 16:17 opt

drwxr-xr-x   3 www-data root      4096 Jul 28 16:17 netsuite

drwxr-xr-x   8 www-data root      4096 Aug 17 17:41 odbcclient

drwxr-xr-x   2 www-data www-data  4096 Aug 16 18:39 lib64

lib64 中的所有文件都设置为

-rwxr-xr-x 1 www-data www-data

php文件当前设置为777。

我只是不知道缺少什么权限或权限错误,导致 www-data 无法访问驱动程序。任何帮助都将不胜感激。

相关内容