• 締切済み

Postgresの拡張モジュール導入について

PHPでpgsql拡張モジュールを導入したいのですがうまくいきません。アドバイスをお願いいたします。 環境:Apache2 / PHP5.0.2 / Postgresql8.0 今までのしたこと: (1)使えないモジュールの把握  Fatal error: Call to undefined function pg_query_params() in /hoge/fuga.php (2)ソースファイル配下(php-5.2.10/ext/pgsql)にてpgsql拡張モジュールをインストール  phpize  ./configure --with-php-config=/usr/local/php/bin/php-config --with-pgsql=/usr/local/pgsql  make  make install (3)pnp.iniにextension_dirの設定変更と、extension=pgsql.soを追記 (4)Apacheの再起動 (3)のphp.iniが動作するPHPから呼び出されていること、extension_dirの設定内容が間違っていないことは確認済みですが、モジュールは使えないままです。 追加でできる確認方法か、とばしている手順があれば教えてください。よろしくお願いします。

noname#102084
noname#102084
  • PHP
  • 回答数1
  • ありがとう数1

みんなの回答

  • entree
  • ベストアンサー率55% (405/735)
回答No.1

設定方法としては間違っていないと思いますので、 以下の2点を確認された方がよろしいかと思います。 - extention_dir に pgsql.so が正しくインストールされていること - phpinfo () で pgsql モジュールに関する情報が出力されること

noname#102084
質問者

お礼

今、別のextensionモジュールの導入を試してみたら、導入前後でphpinfo()の内容も変わったことを確認しました。 このことから拡張モジュールの導入には成功しているが、使いたい関数が使えないということがわかりました。 質問内容が変わってくるかと思いますのでこちらはしめさせていただきます。 よろしければ、また新しく質問させていただきますのでアドバイスを頂戴できればと思います。 ありがとうございました。

noname#102084
質問者

補足

回答ありがとうございます。 >- extention_dir に pgsql.so が正しくインストールされていること 念のためにインストールしなおしましたが状況はかわりませんでした。 phpinfo()で確認できるextention_dir内にpgsql.soは存在します。 >- phpinfo () で pgsql モジュールに関する情報が出力されること 出力されていました。 ただ、PHPインストール時からpgsqlの一部モジュールは使えており、その時にphpinfo()で出力されていた情報と追加インストール後も同じような気がします。 拡張モジュール(例のpg_query_params())を使うための追加インストールをしたので、phpinfo()内容は変わらないと変なのでしょうか?

関連するQ&A

  • PHPの拡張モジュールが適用されません・・・

    PHPの拡張モジュールが適用されません・・・ CentOS release 5.3 php-5.1.6 PHPでFLASHとの連携をおこないたく、 以下のモジュールをコンパイルしたのですが動きません・・・。 http://pwiki.awm.jp/~yoya/?swfed#impl 手順は以下の通りとなります。 1、適当なディレクトリー(今回は/tmp/配下)にswfed-0.18.tarを展開。 2、SSHにてroot権限で/tmp/swfed-0.18.tar/swfed-0.18/scr 以下を # phpize ↓ # ./configure --with-zlib --with-png --with-gif ↓ # make install 3、php.iniを extension_dir = "/usr/lib64/php/modules/" extension = swfed.so ←追加 4、appacheを再起動 上記手順でおこないましたがphpinfoのAdditional Modulesにも 反映されておらず、動作確認もしたのですが呼び出しの部分でこけてしまっています。 誰かお分かりになる方いらっしゃいましたら、 ご教授ください。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • php.iniの拡張モジュールGDをONにしたい

    php.iniファイルの記載方法がわかりません。お名前.comにてGDを使用したいのですが、サポートにメールしたら gd、mysqli、xmlrpcは、拡張モジュールとして設置しております ため、お客様にて独自にphp.iniを設置し、ご利用いただく場合に おきましては、設置いただいている「php.ini」ファイルに下記 記載の記述を追加することにより、ご利用可能になります。 extension_dir = "/usr/local/lib/php/extensions" extension = gd.so extension = mysqli.so extension = xmlrpc.so と帰ってきました。php.iniファイルの書き込み方などわからないのでどなたか教えてください!

    • 締切済み
    • PHP
  • PHP拡張モジュールが読み込めない?

    環境 OS:windowsXP Apache ver 2.2 PHP ver 5.1.4 問題の発端はphpからMySQLを呼び出す時に下記のエラーが出た事に始まりました。 Call to undefined function mysql_connect() 恐らくextensionファイルがうまく読み込めてないものと思われるのですが、php.iniの設定でしょうか? extension関連の設定は以下になっています。 extension_dir = "C:\php\ext" extension=php_mysql.dllのコメントアウトをはずす。 phpinfo()で確認してみましたが、表示されるのはConfiguration PHP Core まででその他の設定は表示されません。 extension_dirの項目は変更すると反映されるみたいですので、php.iniは読み込めていると思うのですが…。 GD2モジュールのサンプルも動かしてみましたが、やはり駄目でした。 ApacheのhttpdconfでPHPIniDirを設定しても結果は同じでした。 どなたか、原因の解る方いらっしゃいますでしょうか?

    • ベストアンサー
    • PHP
  • php拡張モジュールのインストール

    いつもお世話になっております。 phpでcurlを使いたく、 以下のサイトを参考にして、実行したいと考えています。 http://ext.omo3.com/php/php.ini_curl.so.html その際、 >■php.iniでcurl.coを指定する >上記のディレクトリとcurl.soを指定する。 のところで、 extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20060613/" extension=curl.so としていますが、 こちらの設定をする前に、既に、 $ php -i | grep extension にて、 extension_dir => /usr/lib/php/modules => /usr/lib/php/modules mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1. となっていた場合、 どのようにしたらいいのでしょうか。 上記に同じ行を追加して、追記する形でしょうか。 それとも、現在の設定内容を編集するのでしょうか。 それとも、他になにかありますでしょうか。 お手数をおかけしますが、何卒よろしくお願い申し上げます。

  • データベースに接続できない

    postgresql-7.2.3.tar.gzインストール時には、下記内容でデータベースに接続できていました。 <?php $con = pg_connect("dbname='database_6' user='postgres' password='xxx'") if(!$con){ print "DB connection failed!!\n"; }else{ print "DB connection successful!!\n"; } ?> ところが、postgresql-8.0.26.tar.gzをインストールしたら、上記内容でデータベースに接続できなくなり、 Fatal error: Call to undefined function: pg_connect() in /usr/local/apache/htdocs/sql.php on line 2 というエラーメッセージが表示されます。 phpinfo();で確認もしましたが、ない感じです。Additiional Modulesのどこかを見れば、いいのでしょうか? pgsql.soは/usr/local/lib/php/extentions/pgsql.soにあります。/usr/local/lib/php.iniのextention_dir = ./を以下のように修正し、 extention_dir = /usr/local/lib/php/extentions extention=pgsql.so /usr/local/apache/bin/apachectl restart も実行しています。

  • mb_convert_kanaを使うと出るエラー

    環境:Win32/Apache2.4.0/5.3.9RC3(C:\apache\php) mb_convert_kanaを使おうとするとエラーが出てしまいます。 Fatal error: Call to undefined function mb_convert_kana() in C:\apache\htdocs\test1.php on line 9 ネットで調べてみるとphpの再インストールが必要で bin/mkphp.shに下記インストール用スクリプトを書いて make cleanをすると良いとのことですが、mkphp.shがありません。 ------------------------------------------------------ make clean ./configure --with-apxs2=/usr/local/apache/bin/apxs \ --with-pgsql=/usr/local/pgsql \ --enable-mbstring \ --enable-mbregex \ --enable-gd-native-ttf \ --enable-memory-limit \ --enable-zend-multibyte \ --with-openssl \ --with-gd \ --with-ttf \ --with-freetype-dir \ --with-jpeg-dir \ --with-xpm-dir \ --with-zlib-dir \ --with-java \ && make && make install ------------------------------------------------------ また、参考になるか分かりませんが、 php.infoをブラウザで見たときに Configuration File (php.ini) Path には、C:\Windowsと表示されています。 <?php echo mb_internal_encoding(); phpinfo(); ?> とecho mb_internal_encoding();を追加してブラウザでみるとエラーが出てしまいます。 ヒントだけでも教えて下さい。

    • ベストアンサー
    • PHP
  • PHPモジュールが読み込めない?

    Linuxでサーバーを構築しようと思い、三日三晩試行錯誤してみたのですがどうしてもわからない事があるので質問させていただきます。 Apache、PHPのインストールはエラーなく行えたのですがPHPのインストール後、httpd.confにAddModule文を追加するとApache再起動時に指定したモジュールが見つからない節のエラーが出ます。 ApacheのModuleディレクトリやLibディレクトリ等を探してみたのですが.soファイルが見つかりません。 phpのconfigure時に「CGIとして動作します」的なメッセージが表示されてたのですがそのせいでしょうか? ./configure --prefix=/usr/local/php-5.2.1\ --enable-mbstring\ --with-apxs2=/usr/local/httpd/bin/apxs\ --with-mysql=/usr/local/mysql\ --with-gd --with-zlib --with-jpeg-dir 実行環境 FedoraCore6 Apache-2.2.4 PHP-5.2.1 PHP-4.4.6でもためしてみたのですがうまくいきませんでした。 どなたか原因がわかる方がいたらご教授お願いできませんでしょうか? 初歩的な事で申し訳ないのですがよろしくお願いします。

    • ベストアンサー
    • PHP
  • pgsql.ini のファイルは何所にありますか。

    FedoraCore4にPostgresql7.4.6をソースからコンパイルしてインストールしました。 学習書に、 PHPインストール時に configureオプション  --with-config-file-scan-dir-DIR で指定したディレクトリにpgsql.ini をおく、と書いてあるのですが、私の場合、yumでPHP5.04 をインストールしています。 /usr/local/pgsql/の下に、bin,doc,include,lib,man,shareの各サブディレクトリはあります。 /etc/php.d ディレクトリはありますが、中は空です。pgsql.ini ファイルを見つけることが出来ません。 1.pgsql.ini ファイルは何所にあるのでしょうか? 2.新規に作成する必要があるのでしょうか? ググリましたが、適当な資料を探し得ませんでした。 pgsql.ini の編集と置き場について、良い参考資料を教えて頂ければ大変有難いです。

  • phpでpostgresを使いたい(windows

    phpでpostgresを使いたい(windows) Windows版のアパッチとphpをダウンロードして解凍し、phpinfo()が出るところまで来ました。 Apache24 php-7.2.0-Win32-VC15-x64 次にpostgresqlを使いたくてインストールしました。 使えるようにするにはphp.iniを変更しないといけないようですが、ネットで検索して出てくることと実情が合いません。 まず、php.iniが見つからなかったのですが、これはphp.ini-productionをコピーしてphp.iniに名前を変更すればよさそうです。 次に 「extension=php_pgsql.dll」の先頭にセミコロン(;)が付いている場合は上記の図のようにセミコロンを削除して下さい。 とあるのですが、 php.iniの中にphp_pgsql.dllの記述はありません。 どうすればよいでしょうか?

    • 締切済み
    • PHP
  • 拡張モジュールをphpコマンドからだと読んでくれません。

    PHP4.4.2のphp.iniで、extentionをフルパス指定したのですが、 Apache経由だと、ssh2.soは読まれ拡張関数が使用できたのですが phpコマンドを叩くと、ssh2の拡張関数はないと エラーになってしまいます(><) シェルから何故、拡張関数が使用できないのでしょうか?

    • 締切済み
    • PHP

専門家に質問してみよう