カテゴリー: 未分類

  • WordPressで Postgresqlに接続してデータを取得する

    WordPressのサイトページに、Postgresqlのデータを抽出して表示したい。

    php-pgsqlのインストール

    下記コマンドでPHPのPostgres拡張機能をインストールする。
    こうすると、Postgres DBに接続するためのコマンドが利用できるようになる。

    yum install php-pgsql

    サイトページで呼び出す

    pg_connectに接続情報を渡すと接続できる。接続後はpg_queryでクエリーを渡すと結果が得られる。
    ただし、この結果に対してechoなどしても、DBの内容はえられない。

           $connStr=sprintf(
                    "host=%s port=5432 dbname=%s user=%s password=%s",
                    getenv('PDBHOST'),
                    getenv('PDBNAME'),
                    getenv('PDBUSER'),
                    getenv('PDBPASS')
            );
    
            $db_connection=@pg_connect($connStr);
            if (!$db_connection){
                    die('unable:'.(error_get_last()['message']??'unknown'));
            }
    
            $sql="SELECT * FROM nanntara";
            $res = pg_query($db_connection,$sql);
    
            print_r($count);

  • phpで環境変数を表示する

    <?php
    echo getenv("HOME")

    とりあえずこれで表示できたが、今現在は、HOMEと、USERしか表示する方法がわからない。

    ちなみにコマンドを実行するにはこう。

    return exec('echo test');
    return exec('echo $PATH');

    こうすると、apacheのPATHが取れる。でも、$TESTなどを/profileとかに定義しても拾えない。

    セキュリティのため、通常は変数取れないようになっているみたい

    ここで解除できる模様。
    /etc/php-fpm.d/www.conf

    ; Clear environment in FPM workers
    ; Prevents arbitrary environment variables from reaching FPM worker processes
    ; by clearing the environment in workers before env vars specified in this
    ; pool configuration are added.
    ; Setting to "no" will make all environment variables available to PHP code
    ; via getenv(), $_ENV and $_SERVER.
    ; Default Value: yes
    clear_env = yes

    この最後のyesをnoにすると、環境変数が取れるようになる。

    また、このwww.confに環境変数を定義すると、各ページで使えるようだ。

  • phpでpostgresql接続

    WordPressで作成したホームページに、別のサーバに配置したpostgresqlからデータを取り出して、表かなんかで表示したい。

  • 株大好き

    株大好きなので、個人的な情報まとめて行きたいと思います。

    これから頑張って書きます。