Windows10でApache+PHP+FuelPHP(+MySQL)

# 茶番(興味無かったら飛ばしてください。)
今学期の授業でApache+PHPを使うためにUbuntuを使っているのですが、周囲の知り合いから**「Ubuntuの動作が重すぎてブチ○したい」**だの**「なんで学校のPCにはメモリ8GBしか載ってないんじゃそんなんでVirtualBoxが快適に動くかアホ○ね」**といった悲鳴が聞こえてくるので僕は思ったんですよ。
***「…じゃあUbuntuじゃなくてWindowsで動かせば良くない...?」***
しかし、これを言うと「やり方がわからん[](いや調べろや)」やら「terminal触りたくない[](こういうのはもう手に負えない。)」と言った人が出てくるんです。~~terminal触りたくないは君よくここまで生きてきたなこの学科でと言いたくなったけど。~~

前置きがクッソ長くなりましたが、まあ要するにそういう人のために向けた設定の手順をここで教えるので、やりたくなった人は参考にして下さいってことです。

ちなみにFuelPHPを導入する理由は授業で使うからです。~~Google検索の予測候補に「FuelPHP オワコン」って出るようなやつ導入してええんかっていうのは気にしちゃダメです。~~

# 導入
PHP→Apache→FuelPHP→MySQLの手順で説明します。
バージョン違い等は適宜読み替えてください。**(1.8.2等のバージョンの数字は全部X.X.Xと書き換えています。)**

## PHP
1. [PHPのダウンロードページ](https://www.php.net/downloads.php)に行く。
2. 「Windows downloads」と書いてあるところがあるので押す。（この段階でphpのバージョンを覚えておくと後で楽）
3. 「**VC15 x64 Thread Safe**」と書いてあるとこの下のZipを押してダウンロード。
4. Zipファイルを解凍したら解凍したフォルダの名前を「php」にする。
5. phpフォルダを丸ごとCドライブ直下(C:\\)に置く。
6. phpフォルダ直下にある`php.ini-production`をコピーして`php.ini`にリネーム。
7. 環境変数の設定画面に移って、`C:\php`を環境変数Pathに登録する。
8. コマンドプロンプトを開いて、`php -v`と入力。

こんな感じの文字が出ればOK。

```
PHP 7.4.0 (cli) (built: Nov 27 2019 10:14:18) ( ZTS Visual C++ 2017 x64 )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
```


## Apache
Apacheをインストールする前に、Microsoft Visual C++ 2015 再頒布可能パッケージをインストールする必要がある。
1. [ダウンロードページ](https://www.microsoft.com/ja-jp/download/details.aspx?id=48145)に行く。
2. ダウンロードを押す。
3. vc_redist.x64.exeにチェックを入れてダウンロード。
4. vc_redist.x64.exeを実行。
5. あとは規約に同意してインストール押せば大丈夫です。
セットアップ失敗と出て、別のバージョンの製品が〜〜〜とかなんとか言われたらそれは放置で何とかなる~~はず~~。

Apacheのダウンロードに戻ります。
1. [Apache Loungeのページ](https://httpd.apache.org/)に行く。
2. 左側の「Download」を押す。
3. `httpd-X.X.XX-win64-VS16.zip`と書いてあるところを押してダウンロード。
4. 解凍したフォルダの中の`Apache24`フォルダを丸ごとCドライブ直下(C:\\)に置く。
5. コマンドプロンプトを管理者権限で起動する。
6. 以下のコマンドを入力する。

```posh
cd C:\Apache24\bin
httpd.exe -k install
```
`Errors reported here must be corrected before the service can be started.`みたいな表示が出たら成功です。

### 動作確認
1. エクスプローラで`C:\Apache24\bin`に移動して`ApacheMonitor.exe`を起動する。
2. タスクバーに赤い羽根みたいなのが出るのでクリックしてStartを押す。
3. [localhost](http://localhost)にアクセスする。
4. `It works!`と表示されればOK。

## FuelPHP
1. [FuelPHPのページ](https://fuelphp.com/)から`Download vX.X.X now!`を押してダウンロードしてくる。
2. 解凍したフォルダを丸ごとCドライブ直下(C:\\)に置く。

## Apacheの設定をいじる
このままではApacheでPHPが使えないので、設定をいじります。
`C:\Apache24\conf`に移動して、httpd.confを開きます。
以下のことをやる。

- `#LoadModule rewrite_module modules/mod_rewrite.so`のコメントアウトを解除。
- `LoadModule ~~~~`って書いてあるところの一番下に`LoadModule php7_module C:/php/php7apache2_4.dll`と追加。
- `DirectoryIndex index.html`を`DirectoryIndex index.html index.php`に書き換える
- `DocumentRoot`を以下のように変更する。

```
DocumentRoot "C:/fuelphp-X.X.X/public"
<Directory "C:/fuelphp-X.X.X/public">
```
- `DocumentRoot`の`Directory`内にある`AllowOverride None`を`AllowOverride All`にする。
- `AddType　~~~~`って書いてあるところの一番下に`AddType application/x-httpd-php .php`を追加
- 最後に`PHPIniDir "c:/php"`を追加。

再度[localhost](http://localhost)にアクセスする。
一番上にFuelPHP、その下に大きく*Welocome!*と書かれていたらOKです。

# MySQL
[MySQLのダウンロードページ](https://dev.mysql.com/downloads/mysql/)からmsi版をダウンロード。
あとは指示に従ってMySQL serverをインストールすればOK。

だと思っていたんですが、以前MySQLを入れたときの残骸(MySQL Connector/NET)が残っていてどうにもうまく行かない。
正直この段階で僕は某VTuberよろしく**「あ"あ"ゴミカス！！！！○ねぇぇぇぇぇぇぇぇぇぇ！！！！！！！」**ってなってる。
見た感じファイル自体は完全に消えてるはずなんだけどなあ...~~わかる人いたら教えて下さい...~~

**解決しました。**
Windowsサポートの[プログラムのインストールまたは削除がブロックされる問題を解決する](https://support.microsoft.com/ja-jp/help/17588/windows-fix-problems-that-block-programs-being-installed-or-removed)っていうページにあるトラブルシューティングツールをダウンロードしてみたら抹消することができました。

InstallationでErrorがめっちゃ出ましたがTryagain連打でどうにかなった。~~ほんまか？~~

適当にサーバ設定を済ませて`C:\php\php.ini`に以下の設定を入れれば多分動きます。

```
extension_dir = "C:\php\ext"
extension=php_pdo.dll
extension=php_pdo_mysql.dll
```



# あとがき
このままではApache構築芸人になってしまう。[](MySQL消えろ)