Help us understand the problem. What is going on with this article?

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のダウンロードページに行く。
  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. ダウンロードページに行く。
2. ダウンロードを押す。
3. vc_redist.x64.exeにチェックを入れてダウンロード。
4. vc_redist.x64.exeを実行。
5. あとは規約に同意してインストール押せば大丈夫です。
セットアップ失敗と出て、別のバージョンの製品が〜〜〜とかなんとか言われたらそれは放置で何とかなるはず

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

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にアクセスする。
  4. It works!と表示されればOK。

FuelPHP

  1. FuelPHPのページから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.htmlDirectoryIndex index.html index.phpに書き換える
  • DocumentRootを以下のように変更する。
DocumentRoot "C:/fuelphp-X.X.X/public"
<Directory "C:/fuelphp-X.X.X/public">
  • DocumentRootDirectory内にあるAllowOverride NoneAllowOverride Allにする。
  • AddType ~~~~って書いてあるところの一番下にAddType application/x-httpd-php .phpを追加
  • 最後にPHPIniDir "c:/php"を追加。

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

MySQL

MySQLのダウンロードページ](https://dev.mysql.com/downloads/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

と思ったらインストールが上手く行かねえ。なんで。まじでわからんくなった降参です。

あとがき

このままではApache構築芸人になってしまう。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away