ODBC_CONNECTはPSQLユーザーだけで実行されます -- php フィールド と odbc フィールド と unixodbc フィールド 関連 問題

ODBC_connect runs only with psql user












0
vote

問題

日本語

ODBCデータベース(Pervasiveクライアント)からデータを尋ねるPHPスクリプトを持っています。

PSQLユーザー(インストーラが作成したもの)としてCLIでスクリプトを実行すると、問題がなく、スクリプトが実行されています。

ブラウザで(www-dataとして)またはCLIのスクリプトをrootとして実行するとき、またはcronjobとして、エラーが表示されます。

<事前> <コード> PHP Warning: odbc_connect(): SQL error: [unixODBC][Driver Manager]Can't open lib '/usr/local/psql/lib64/libodbcci.so' : file not found, SQL state 01000 in SQLConnect in /var/ww....

私はユーザーWWWデータとアンプを追加しました。 Pervasiveクライアントがインストールされているグループ内のroot。

すべてがDebianサーバー上で実行されます。

英語

I have a php script who ask data from a odbc database (pervasive client).

When i run the script in CLI as the psql user (which the installer created) , then i have no problems and the script runs.

When i run the script in browser ( as www-data) or in CLI as root or as a cronjob then i receive the error :

PHP Warning:  odbc_connect(): SQL error: [unixODBC][Driver Manager]Can't open lib '/usr/local/psql/lib64/libodbcci.so' : file not found, SQL state 01000 in SQLConnect in /var/ww.... 

i have added the user www-data & root in the groups that the pervasive client has installed.

Everything runs on a Debian server.

</div
        
       
       

回答リスト

0
 
vote

ソリューション、コメントで明らかにされたように -

PHPとPSQLユーザーにアクティブな環境と一致するように、タスクを実行する必要があるプロセスごとに環境変数を設定します。

これはフルタスクのためのShellScriptを使用することによって達成されました。

 

Solution, as revealed in comments --

Set the environment variables for each user and process that needs to perform the task, to match the environment that was active for PHP and the psql user.

This was achieved by using a shellscript for the full task.

</div
 
 
   
   

関連する質問

0  UnixoDBCドライバを使用してMySQLに接続すると、デフォルトデータベースが機能していません  ( Using unixodbc driver to connect to mysql default database not working ) 
私のunixodbc odbc.iniはこのようなファイルを設定しています: <事前> <コード> [test] Driver = /usr/local/lib/libmyodbc5-5.1.8.so Description = Connector/ODBC ...

3  PYODBCはどのようにエンコーディングを決定しますか?  ( How does pyodbc determine the encoding ) 
今までに数週間、Python(そしてTwisted)と一緒にSybase SQL Anywhere 12と戦っています。 残りが1つだけ残っています:展開プラットフォームであるカスタムPython 2.7.1でCentOS 5でスクリプトを実行した場合、私は結...

2  MySQLコネクタODBC ODBC.INI 'オプション'フラグ値  ( Mysql connector odbc odbc ini option flag values ) 
最初のオフ、この質問を読むための時間と努力をしてくれてありがとう。 ODBC.INIファイル(UNIX / Linuxシステム上の)の「オプション」プロパティで指定された値の設定方法をよりよく理解しようとしています。 値のMySQLのマニュアルを検索した後は...

3  リフレッシュ時に消去するLinux上のDjangoサイトのunixodbc問題  ( Unixodbc issue on a django site on linux that goes away on refresh ) 
Django、Unixodbc、FreeTDS、Apache2、mod_wsgi、つまりこの質問はその前に尋ねました。 最新のDjango、つまり1.2.3で実行するように構築されたDjangoウェブサイトを持っています。それは大部分のために管理モデルを使用...

0  Mac OS XでISQLを使用してSQL Serverに接続できません  ( Cant connect to sql server using isql on mac os x ) 
HomeBrewを使ってFreeToSをインストールしました。私の構成は次のとおりです。 <コード> odbcinst -j: <コード> unixODBC 2.3.1 DRIVERS............: /usr/local/Cellar/...

1  My C ++アプリケーションはInformix DB Serverに接続できません  ( My c application cannot connect to informix db server ) 
私はアプリケーション(非常に長いのでコードを提供することはできません)、 unixODBC を使用しています。また、<コード> isql をインストールしました。 isql を使用して、すべてが正しく構成されているようです。 isql を使用して、問題なくI...

1  PHP + UNIXODBC + DB2 + DESCRIBER =トークンは無効ですか?  ( Php unixodbc db2 describe token not valid ) 
コードを実行しようとしています: <事前> <コード> $query = "DESCRIBE TABLE TABLENAME"; $result = odbc_exec($h, $query); 結果: PHP警告:ODBC_EXEC():SQLエラー...

0  ODBCはlibmyodbc3-3.51.27.soを接続できません  ( Odbc cant connect libmyodbc3 3 51 27 so not found ) 
そのエラーを届け続けます。ただし、エラーが指すディレクトリの下にファイルが表示されます。私はそれがそこではないと思う理由はわかりません。 CentOS 64ビットを実行していて、StoreGridをインストールしようとしています。他のマシンを見て、ディレク...

0  PHP PDO ODBC 13ドライバエラー特殊文字で、最後の文字を削除しますが、特殊文字を表示  ( Php pdo odbc 13 driver error with special character remove last character but s ) 
Linux Apacheを使ってPDO ODBCドライバ13を使用していますが、次の点を除いてすべてが正しく機能します。 フェッチを使用してテーブル内の行をサンプリングした場合、および単語に特殊文字がある場合は、最後の文字を単語から削除します。 例:という言...

5  NPMの実行SailsアプリでODBCをインストールするとエラーが発生しますか?  ( Running npm install odbc in sails app produces errors ) 
node-odbc package( https:// githubにインストールしようとしています。私の帆アプリの中でcom / wankdanker / node-odbc ) 私がサーバー上のUnixobdcをインストールして設定したが、 npmを...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有