web-dev-qa-db-ja.com

XAMPPでPostgreSQLを使用する際の問題

XAMPPでPostgreSQLを動作させるのに問題があるようです(Lubuntu 14.02を使用)。 PHP、サーバー、データベースの両方を使用するのは初めてですが、次のエラーメッセージが表示されます。

致命的なエラー:551行目の/opt/lampp/htdocs/imageability/SkjemaDatabase.phpの未定義関数pg_escape_string()の呼び出し

だから、PostgreSQLに問題があるように思えます。 pg_connect()についても同じエラーメッセージが表示されます。 PostgreSQLをXAMPPで動作させるために、ファイル内の次の行のコメントを外すなど、いくつかのことを試しましたphp.iniそして、成功せずにサーバーを再起動します。

extension = php_pdo_pgsql.dll

extension = php_pgsql.dll

ファイルをコピーしてみてくださいlibpq.dllをApacheフォルダーに移動しますが、このファイルはまったくないようです(findで検索)。これが問題になりますか?

また、Apache2、PHP5、およびPostgreSQLを個別にダウンロードしようとしましたが、この場合はエラーメッセージなしでも空白のページが表示されるだけであるため、これは役に立たないようです。私が使用しているPHPファイルは正常であり、他の人のために働いています。また、他のPHPファイルをサーバーで動作させることもできます。

助けてくれてありがとう!

1
Ingrid

私の推奨事項:これにはXAMPPを使用しないでください!これは、通常のApache、MySQL、PHP、+ Python/Perlスタックを動作させるための簡単な方法となるはずです。城壁に囲まれた庭を去り、あなただけで…

また:do動作させたとしても、次にシステムやXAMPP自体を壊さないという保証はありません。このユースケースは誰もサポートしておらず、関連するコンポーネントの一部(特にPHP)は、特定のバージョン用にコンパイルされていないモジュールを処理するようには設計されていません。

Debian/Ubuntuで開発者環境をネイティブにセットアップする方法

  1. ターミナルウィンドウを開きます(メニューその他LXTerminal
  2. 現在実行中のすべてのXAMPPサービスを停止します
  3. 必要なパッケージをインストールします。
    これにはGUI(「ソフトウェアセンター」)を使用するか、ターミナルで次のコマンドを実行します。
    Sudo apt-get install Apache2 libapache2-mod-php5 postgresql php5-pgsql
    • Apache2(Apache Webサーバー)
    • libapache2-mod-php5(ApacheのPHPサポート)
    • php5-pgsql(PHPのPostgreSQLクライアントサポート)
    • postgresql(PostgreSQLサーバー)
  4. ルートとしてテキストエディタでファイル/etc/php5/Apache2/php.iniを開きます。
    ターミナルウィンドウでコマンドを入力します
    gksudo leafpad /etc/php5/Apache2/php.iniおよびEnterキーを押します
  5. display_errors = Offを見つけて、display_errors = Onに変更します
    Screenshot of the display_errors line and documentation
  6. ファイルを保存してエディターを閉じます
  7. Apache Webサーバーを再起動します。
    ターミナルウィンドウでコマンドSudo service Apache2 restartを実行してWebサーバーを再起動し、そのPHPモジュール
2
ntninja