XAMPP (Lubuntu 14.02 を使用) で PostgreSQL を動作させるのに問題があるようです。PHP、サーバー、データベースの操作は初心者ですが、次のエラー メッセージが表示されます。
致命的なエラー: /opt/lampp/htdocs/imageability/SkjemaDatabase.php の 551 行目で未定義の関数 pg_escape_string() を呼び出しました
したがって、これは PostgreSQL の問題であるように思われます。 にも同じエラー メッセージが表示されます。ファイル内の次の行のコメントを解除してサーバーを再起動するなど、pg_connect()
PostgreSQL を XAMPP で動作させるためにいくつかのことを試しましたが、成功しませんでした。php.ini
拡張子=php_pdo_pgsql.dll
拡張子=php_pgsql.dll
ファイルをlibpq.dll
Apache フォルダにコピーしてみることもできると読みましたが、このファイルはまったく見つからないようです ( で検索しましたfind
)。これが問題なのでしょうか?
Apache2、PHP5、PostgreSQL を別々にダウンロードすることも試みましたが、この場合はエラー メッセージも表示されず、空白ページが表示されるだけなので、役に立たないようです。私が使用している PHP ファイルは問題なく、他の人にも機能しており、他の PHP ファイルもサーバー上で動作させることができます。
ご協力いただければ幸いです!
答え1
私の推奨事項: この目的には XAMPP を使用しないでください。これは、通常の Apache、MySQL、PHP、+Python/Perl スタックを動作させるための簡単な方法であるはずです。壁に囲まれた庭を離れると、ほとんど独力で作業することになります...
また、たとえあなたがする動作させるには、次回システムまたは XAMPP 自体が壊れないという保証はありません。このユースケースは誰にもサポートされておらず、関連するコンポーネントの一部 (特に PHP) は、特定のバージョン用にコンパイルされていないモジュールを処理するように設計されていません。
Debian/Ubuntu でネイティブに開発環境を設定する方法
- ターミナルウィンドウを開きます(メニュー→他の→LXターミナル)
- 現在実行中のすべてのXAMPPサービスを停止します
- 必要なパッケージをインストールします。
これには GUI (「ソフトウェア センター」) を使用するか、ターミナルで次のコマンドを実行します。
sudo apt-get install apache2 libapache2-mod-php5 postgresql php5-pgsql
apache2
(Apache ウェブサーバー)libapache2-mod-php5
(Apache の PHP サポート)php5-pgsql
(PHP の PostgreSQL クライアント サポート)postgresql
(PostgreSQL サーバー)
/etc/php5/apache2/php.ini
ルートとしてテキストエディタでファイルを開きます。
ターミナルウィンドウでコマンドを入力し
gksudo leafpad /etc/php5/apache2/php.ini
てEnterキーを押します。- 行を見つけて
display_errors = Off
変更しますdisplay_errors = On
- ファイルを保存してエディターを閉じます
- Apacheウェブサーバーを再起動します。ターミナルウィンドウで
コマンドを実行してsudo service apache2 restart
ウェブサーバーを再起動し、PHPモジュールをリロードします。