エンジニアの卵の成長日記

https://blog.toru-takagi.dev/profile/

Windows環境でApache+PHP+MySQL環境を整える

前回の記事でも書いたがSlack Botを利用した鍵管理システムの開発を行っている
kurowasi2525.hatenablog.com

今まではMacで行っていたのですが、メイン機でもやりたいと思いGitからCloneしてから気づいた。。。
そう。Windowsメイン機にPHPApacheが入っていないことを
今までPHPApache環境系の開発はMacでやっていたことを


と、いうことで僕の嫌いな環境構築を行っていきたいと思います
Windowsということでかなり躓きました





Apacheのインストール

以下のサイトを見てください笑
ダウンロードして展開してパスを通すだけ
www.adminweb.jp


PHPのインストール

以下のサイトを見て下さい笑
Apacheと同じくダウンロードして展開してパスを通すだけ
webkaru.net



ここまでは順調でした
躓いたのはここから先


研究室メンバーが書いた、mysql_connection()を使えるようにしたい(なぜそれを使った)
PDOを使えるようにしたい。ただそれだけでした
どっかで見たサイトに従って以下のように変更した

  • 展開したPHPフォルダの中にあるphp.ini-developmentをコピーしてphp.iniファイルに変更
  • php.iniファイルを変更
;extension=php_mysql.dll
;extension=php_pdo_mysql.dll
↓
extension=php_mysql.dll
extension=php_pdo_mysql.dll
  • 展開したApacheフォルダの中にあるhttpd.confに以下のコードを追加
LoadModule php5_module "C:/PHPのパス/php5apache2_4.dll"
PHPIniDir "C:/PHPのパス/"
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>


これで大丈夫だと言っているが、だめだ...
調べてもPHPのパスがおかしいというばかり
f:id:kurowasi2525:20170216201224p:plain

Loaded Configuration FileがPHPIniDir "C:/PHPのパス/"で指定したパスじゃないか!
あっているじゃないか!
そう思っていた


これはインストールしたPHPのバージョンが悪いと思い、ふとphp -vを叩いた
指定されたモジュールが見つかりません
は?パスは?

f:id:kurowasi2525:20170216201511p:plain



Cドラ直下にphpフォルダなんて作った覚えはないぞ?

いろんなサイトでCドラ直下にphpのパスがいっていたとう記事を見ていたが、
そんなわけ(笑)って感じで流していたのが原因でした
すみませんでした!!!

php.iniのextensionのパスを展開したフォルダへのパスに変更

extension_dir = "C:\展開したPHPのパス\ext"


無事動きました
サイトを巡回していて思ったのですが、phpinfo()を見てって書いてあるけど、どこ見ればいいん?
って思ったので自分が今回うまくいくために見た場所
正しいかどうかはわからないですが、参考までに

f:id:kurowasi2525:20170216201224p:plain
f:id:kurowasi2525:20170216202404p:plain
f:id:kurowasi2525:20170216202406p:plain



※追記
準備が完了したので、さぁ今までのコードが正常するかテストだ!と思い
SlackのAPIを叩いた際にこんなエラーが

Warning: file_get_contents(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in PHPファイルのパス on line 32


これの解決策はphp.iniを以下のように変更するだけみたい

;extension=php_openssl.dll
↓
extension=php_openssl.dll