3

この件について徹底的な検索を行い、同様の問題を見つけ、多くのことを試してみたが成功しなかったと本当に感じているので、ここに初めて質問を投稿します。

私は多くの Web ページ/Web プログラミング (主に PHP/jQuery) を行っており、これらのページをデジタル ライブラリ部門の Drupal/Ubuntu Server でホストしています。Drupal フロントエンドはあまり使用しないので、コーディングして Dreamweaver 経由で投稿するだけです。ページ用のサーバーが必要なだけです。

とにかく、ライブラリ カタログに接続できる PHP ページをいくつか作成したいので、Drupal/Ubuntu サーバーのコマンド ラインから作業しています。unixODBC をインストールし、トラブルが発生し、FreeTDS をインストールし、ドライバーと DSN をセットアップしました。

ついに...

  1. tsql を介してカタログに接続し、クエリを実行することができました。

  2. 接続をテストするための基本的な PHP スクリプトを作成しました。

    • サーバーのUbuntuコマンドラインから動作します(接続成功)。

    • ブラウザにロードすると機能しません。私は恐ろしいものを手に入れます:

警告: odbc_pconnect(): SQL エラー: [unixODBC][Driver Manager]Data source name not found, and no default driver specified, SQL state IM002 in SQLConnect in /var/www/mydirectory/mytestpage.php on line 15

更新:ラップトップのパーティションにテスト用の Ubuntu サーバーをインストールしました。ここでクリーンを開始し、Apache2/PHP5 (mssql および odbc モジュールなどを使用)/FreeTDS などをインストールしました。tsql 接続を取得しました。基本的な PHP スクリプトを作成し、コマンド ラインから正常に実行しました。次に、ブラウザからphpページに移動すると、うまくいきました! Drupal サーバー バージョンでこれを実現する必要はまだありますが、少なくとも問題を Drupal サーバー上の何かに絞り込むことができました。

次のような考えられる原因を検索して見つけました。

  1. ファイルのアクセス許可。修正されたと思いますが、うまくいきません

  2. 適切な「odbcinst」コマンドオプションで修正するために最善を尽くしたシステムDNSではなく、ユーザーDNSを設定した可能性があります

  3. モジュールとしてではなく、CGI モードで php を実行する必要があるかもしれません。しかし、私が読んだ限りではそうは思えませんでした。そして、それが Drupal にどのように影響するかはわかりません。(ここで行うべきシステム全体の変更には制限があります。)

  4. SElinux が Apache がブラウザーにページを表示するのを妨げていると多くの人が言っていましたが、一時的に SElinux を無効にしてもうまくいきませんでした。

ご協力ありがとうございます。

4

4 に答える 4

0

次の場所でmssql.soなどが有効になっていることを確認してください

/etc/php5/apache2/php.ini、/etc/php5/cli/php.iniに別のファイルがあります

ubuntuでは、php.iniはcliとmod_phpのApache構成用に個別に維持されます

于 2012-09-18T15:24:39.407 に答える
0

私の推測では、それはphpと関係があると思います。ini ファイル。私のUbuntuシステムでは2つ持っています。1つは/etc/php5/apache2/php.iniにあり、もう1つは/etc/php5/cgi/php.iniにあります接続を許可するには、apache2パスの値を調整する必要があります. 残念ながら、MySQL と Mongo を使用しているため、それ以外はあまり使用していません。

于 2012-09-18T14:52:26.133 に答える
0

php.iniを作業サーバーから非作業サーバーにコピーし、Web サーバーを起動する前に必要な環境変数にアクセスできるように追加し、Web サーバーが および に完全にアクセスできることを確認odbcしますodbcinst ini-files。そのため、mssql ナレッジ ベースまたはヘルプを使用します。

于 2015-12-28T08:27:17.887 に答える