茶番(興味無かったら飛ばしてください。)
今学期の授業で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
- PHPのダウンロードページに行く。
- 「Windows downloads」と書いてあるところがあるので押す。(この段階でphpのバージョンを覚えておくと後で楽)
- 「VC15 x64 Thread Safe」と書いてあるとこの下のZipを押してダウンロード。
- Zipファイルを解凍したら解凍したフォルダの名前を「php」にする。
- phpフォルダを丸ごとCドライブ直下(C:\)に置く。
- phpフォルダ直下にある
php.ini-production
をコピーしてphp.ini
にリネーム。 - 環境変数の設定画面に移って、
C:\php
を環境変数Pathに登録する。 - コマンドプロンプトを開いて、
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 再頒布可能パッケージをインストールする必要がある。
- ダウンロードページに行く。
- ダウンロードを押す。
- vc_redist.x64.exeにチェックを入れてダウンロード。
- vc_redist.x64.exeを実行。
- あとは規約に同意してインストール押せば大丈夫です。
セットアップ失敗と出て、別のバージョンの製品が〜〜〜とかなんとか言われたらそれは放置で何とかなるはず。
Apacheのダウンロードに戻ります。
- Apache Loungeのページに行く。
- 左側の「Download」を押す。
-
httpd-X.X.XX-win64-VS16.zip
と書いてあるところを押してダウンロード。 - 解凍したフォルダの中の
Apache24
フォルダを丸ごとCドライブ直下(C:\)に置く。 - コマンドプロンプトを管理者権限で起動する。
- 以下のコマンドを入力する。
cd C:\Apache24\bin
httpd.exe -k install
Errors reported here must be corrected before the service can be started.
みたいな表示が出たら成功です。
動作確認
- エクスプローラで
C:\Apache24\bin
に移動してApacheMonitor.exe
を起動する。 - タスクバーに赤い羽根みたいなのが出るのでクリックしてStartを押す。
- localhostにアクセスする。
-
It works!
と表示されればOK。
FuelPHP
-
FuelPHPのページから
Download vX.X.X now!
を押してダウンロードしてくる。 - 解凍したフォルダを丸ごと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にアクセスする。
一番上にFuelPHP、その下に大きく*Welocome!*と書かれていたらOKです。
MySQL
MySQLのダウンロードページからmsi版をダウンロード。
あとは指示に従ってMySQL serverをインストールすればOK。
だと思っていたんですが、以前MySQLを入れたときの残骸(MySQL Connector/NET)が残っていてどうにもうまく行かない。
正直この段階で僕は某VTuberよろしく**「あ"あ"ゴミカス!!!!○ねぇぇぇぇぇぇぇぇぇぇ!!!!!!!」**ってなってる。
見た感じファイル自体は完全に消えてるはずなんだけどなあ...わかる人いたら教えて下さい...
解決しました。
Windowsサポートのプログラムのインストールまたは削除がブロックされる問題を解決するっていうページにあるトラブルシューティングツールをダウンロードしてみたら抹消することができました。
InstallationでErrorがめっちゃ出ましたがTryagain連打でどうにかなった。ほんまか?
適当にサーバ設定を済ませてC:\php\php.ini
に以下の設定を入れれば多分動きます。
extension_dir = "C:\php\ext"
extension=php_pdo.dll
extension=php_pdo_mysql.dll