2016年1月28日木曜日

トラブル php56 / FreeBSD10.0R / PostgreSQL9.4

久しぶりにPostgreSQLを使おうとセットアップしてみたが、php56でのapache2.4からのアクセスが出来なくて、今日は半日もがいている状態、、、、。 

1) ブラウザでinfo.phpにアクセスすれば、phpの定番の表が表示されるのでphp56やapache24の設定にはは問題無い、と思われる。

2)pgAdminで別のPCからアクセスできるのでpostgresqlはlocal以外からもアクセスできる状態。

3)php56をcliで実行するとpostgresqlとの接続が出来ることは下のプログラムで確認。
  # php pgtest.php
    connect success
  # cat pgtest.php
            $con=pg_connect("dbname=postgres user=pgsql") or die("connect failed");
        print "connect success";
        pg_close($con);
    ?>


4)でも、ブラウザから上のファイル pgtest.phpにアクセスすると/var/log/httpd-error.logに

[Thu Jan 28 21:35:12.177672 2016] [:error] [pir 990] [client 127.0.0.1:16916] PHP Fatal error:  Call to undefined function pg_connect() in /usr/local/www/apache24/data/pgtest.php on line 2

と出て、pgsql.soがロードされていない!! 

cli ではpgsql.soを読み込んでいるのに、apacheから呼ばれるとpgsql.soが読み込まれない!って何故だろう? 特にphp.iniやextension.iniにCLIの時とApacheからのアクセス(module?)で別々の設定があるわけではないと思うのですが、、、。

PHPはもう10年近く弄っていないし、apacheも4-5年は真面に触っていないので、つまらない処で躓いているのかもしれませんが、、、。 参ったな~。





 

0 件のコメント:

php のインストールの確認

phpって最初のfacebook書くときに使われたみたいで、それなりに歴史のある言語で、私も2006年位から使っていますが、CLIで使う事はあまり無いので、apacheとの連携のトラブル(mod_phpのバージョンの齟齬)などは気になりますが、拡張モジュールのインストールの問題に...