Debian/Ubuntu でネイティブに開発環境を設定する方法

Debian/Ubuntu でネイティブに開発環境を設定する方法

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.dllApache フォルダにコピーしてみることもできると読みましたが、このファイルはまったく見つからないようです ( で検索しましたfind)。これが問題なのでしょうか?

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

ご協力いただければ幸いです!

答え1

私の推奨事項: この目的には XAMPP を使用しないでください。これは、通常の Apache、MySQL、PHP、+Python/Perl スタックを動作させるための簡単な方法であるはずです。壁に囲まれた庭を離れると、ほとんど独力で作業することになります...

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

Debian/Ubuntu でネイティブに開発環境を設定する方法

  1. ターミナルウィンドウを開きます(メニュー他のLXターミナル
  2. 現在実行中のすべてのXAMPPサービスを停止します
  3. 必要なパッケージをインストールします。
    これには 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 サーバー)
  4. /etc/php5/apache2/php.iniルートとしてテキストエディタでファイルを開きます。
    ターミナルウィンドウでコマンドを入力し
    gksudo leafpad /etc/php5/apache2/php.iniてEnterキーを押します。
  5. 行を見つけてdisplay_errors = Off変更します display_errors = On
    display_errors 行とドキュメントのスクリーンショット
  6. ファイルを保存してエディターを閉じます
  7. Apacheウェブサーバーを再起動します。ターミナルウィンドウで
    コマンドを実行してsudo service apache2 restartウェブサーバーを再起動し、PHPモジュールをリロードします。

関連情報