9

私は、既存のPostgreSQLデータベースにアクセスするPHPアプリを作成するように依頼されました。言うまでもなく、アプリが実行される予定のLinuxボックスにPHPがすでにインストールされていることは言うまでもなく、Postgreを使用するのはこれが初めてです。私はこのようなものを設定した経験がなく、コーディングするだけです。

私の質問は、PHPでPostgre拡張機能を動作させることができないようだということです。php.iniファイルを確認しましたが、「extension=...」の行はありませんでした。そこで、「extension=pgsql.so」を追加しました。次に、「extension_dir」を確認したところ、そこには2つのファイル(ldap.so、phpcups.so)しかないことがわかり、別のLinuxボックスから取得したpgsql.soファイルを追加しました。httpdを再起動しました。そして、それは機能しません。phpinfo()で「pgsql」または「postgre」が見つかりませんでした。

私の許しを許してください。Linuxについてはほとんど知りません。私を正しい方向に向けていただければ幸いです。


私はnumber5によって与えられた提案を使用しました:

おい、私はRedHatにいます。私はあなたが与えたコマンドの「yum」バージョンを使用しました、そして私はこれを手に入れました:

[root @ perseus〜]#yuminstallphp-pgsql「installonlyn」プラグインの読み込みインストールプロセスの設定リポジトリの設定ミラーリストを取得できませんでしたhttp://mirrorlist.centos.org/?release=5&arch=x86_64&repo=extrasエラーは[Errno 4] IOError:エラー:リポジトリの有効なbaseurlが見つかりません:extras


残念ながら、私が使用しているLinuxサーバーはインターネットに接続されていません。他にインストールする方法はありますか?

4

4 に答える 4

10

使用しているLinuxディストリビューションによって異なります。

Ubuntu / Debianを使用している場合は、次のことを行う必要があります。

sudo apt-get install php5-pgsql

Fedora / CentOS

yum install php-pgsql

通常、次の方法でどのディストリビューションを使用しているかを確認できます。

ls /etc/*-release
于 2010-05-14T07:51:55.903 に答える
3

CentOS拡張機能では、/ etc/php.d内のphp拡張機能ごとに1つずつ個別の*.iniファイルを作成します。

したがって、メインの* .iniファイルを変更せずに、/ etc / php.d / pgsql.iniを作成し、そこに行を追加します。

extension=pgsql.so

次に、を使用してApacheを再起動する必要があります

service httpd restart

しかし、自動化された最善の方法は、入力するだけです。

yum install php-pgsql

あなたの場合、yum構成にいくつかの問題があるために機能しませんでした。/etc/yum-repos.dに移動しますタイプ

nano /etc/yum.repos.d/CentOS-Base.repo

[extras]セクションまで下にスクロールして、次のようになっていることを確認します。

#additional packages that may be useful
[extras]
priority=1
name=CentOS-$releasever - Extras
=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

必要に応じて修正し、ファイルを保存して(Ctrl-X)、次の手順を実行します。

yum clean all
yum upgrade

その後、繰り返してみてください

yum install php-pgsql
于 2010-05-14T08:21:45.623 に答える
1
  • 他のマシンからコピーした.soファイルを削除します(動作する可能性はありますが、リスクを冒す必要はありません)。
  • ディストリビューションのパッケージマネージャーを使用して、php_pgsql/php5_pqsqlモジュールをインストールします
  • apacheを再起動して、再試行してください。モジュールが自動的に.iniファイルに追加された可能性があります
  • そうでない場合は、実行<?php echo 'ini: ', get_cfg_var('cfg_file_path');して、編集する必要のあるphp.iniを確認します
  • このiniファイルを編集する
  • apacheを再起動します
于 2010-05-14T07:52:59.537 に答える
-1

私のオペレーティングシステムLinuxmintkdeと同じ問題がありました

pg_connect()

php5.6を使用している場合は、インストールする必要があります

sudo apt-get install php5.6-pgsql

「php.ini」ファイルの拡張名を変更する必要があります。

;extension=php_pgsql.dll

'dll'から'so'

例えば

extension=php_pgsql.so
于 2017-01-13T17:44:29.593 に答える