時間がないので急いで書きます。
また暇ができたら、修正しようと思っています。
おかしいところや、足りないところがあったら、コメントください。
環境
OS: Windows 10
Apache 2.4.39
PHP 7.3.7
PostgreSQL 10.6
httpd のパス: D:\skytomo\Apache\Apache24\bin
php のパス: D:\skytomo\php-7.3.7
psql のパス: D:\skytomo\PostgreSQL\pg10\bin
Apache のダウンロードとインストール
@Komugi-R さんの Windows10 にApacheを導入するを参考にしてください。
PHP のダウンロードとインストール
同じく、 @Komugi-R さんの Windows10にPHPを導入し、Apacheで利用できるようにする。を参考してください。
PostgreSQL のダウンロードとインストール
@hidetoshi_n_cograph さんの Windows10のLocal上でPostgreSQLをインストールを参考してください。
Apache + PHP + PostgreSQL
はい、ここまでで、Apache、PHP、PostgreSQLを個別にダウンロードし、インストールしました。
また、Apache + PHP はもうすでにできたので、次は PostgreSQL を連携しましょう。
php.ini を探す
あなたのphp.ini
がどこにあるか探すには、コマンドプロンプトでphp -r phpinfo(); | findstr php.ini
をしましょう。
$ php -r phpinfo(); | findstr php.ini
Configuration File (php.ini) Path => C:\WINDOWS
Loaded Configuration File => D:\skytomo\php-7.3.7\php.ini
Loaded Configuration File => パス名
になっているはずです。
php.ini が見つからない場合
php.ini
が見つからない場合は、作りましょう。
php
コマンドの場所にあるphp.ini-development
をコピーして、名前をphp.ini
に変更しましょう。
php.ini を設定する
php.ini
の ;extension_dir = "/ext/"
みたいになってるところを、コメントアウトを外して、extがあるディレクトリのパスを書きます。僕の場合なら、extension_dir = "D:/skytomo/php-7.3.7/ext/"
です。
だいたい、僕のでは、753行目のところにありました。
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
;extension_dir = "./"
; On windows:
extension_dir = "php/ext のパス(人によって違うので注意)"
また、;extension=pgsql
もコメントアウトを外しましょう。
だいたい、僕のでは、924行目のところにありました。
;extension=pdo_odbc
;extension=pdo_pgsql
;extension=pdo_sqlite
extension=pgsql
;extension=shmop
httpd.confの追加
Loadfile "php/ext/php_pgsql.dll の パス(人によって違うので注意)"
を追加しましょう。
LoadModule php7_module "D:/skytomo/php-7.3.7/php7apache2_4.dll"
Loadfile "D:/skytomo/php-7.3.7/php7ts.dll"
Loadfile "D:/skytomo/php-7.3.7/libpq.dll"
Loadfile "D:/skytomo/php-7.3.7/ext/php_pgsql.dll"
PHPIniDir "D:/skytomo/php-7.3.7"
AddHandler php7-script .php
AddType application/x-httpd-php .php
AddType application/xhttpd-php-source .phps
このようになるはずです。
動作確認
そしたら、動作確認をしましょう。
PostgreSQLのインストール for Windowsの「動作確認をしてみる」を参考にしてください。
……うまくいきましたか?