3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

XAMPP × FuelPHPでPHP開発環境を構築してみた

Last updated at Posted at 2019-12-16

概要

FuelPHPのWebアプリケーションをWindowsのローカル環境で実行するための環境を構築します。

環境

  • Windows10 Pro
  • XMAPP v7.3.12
  • Fuel PHP v1.8.2
    ※2019/12/16現在の最新版

1. XAMPPインストール

XAMPP Installers and Downloads for Apache Friendsからダウンロード・インストールを実施

キャプチャ_01.PNG

インストーラを起動したら、インストールの実行をします。

キャプチャ_02.PNG

キャプチャ_03.PNG
キャプチャ_04.PNG
キャプチャ_05.PNG
キャプチャ_06.PNG
キャプチャ_07.PNG

インストールが完了し、XAMPP Control Panelが起動されるkとを確認します。

キャプチャ_08.PNG
※上記では、port:8080が使用中であったため、tomcatが起動しませんでした。

2. XAMPP起動確認

XAMPP Control PanelでApacheを起動し、疎通確認を行います。

キャプチャ_09.PNG

http://localhost にアクセスし、以下のようなページが表示されれば疎通確認完了です。

キャプチャ_10.PNG

3. PHPインストール確認

XAMPPをインストールすることで、あわせてPHPのインストールもインストールされています。

PHPを実行するために、システム環境変数のPathにC:/xampp/phpを追加します。
キャプチャ_11.PNG

端末の再起動を行い、以下のコマンドでPHPのバージョンが表示されることを確認します。

>php -v
PHP 7.3.12 (cli) (built: Nov 19 2019 13:58:02) ( ZTS MSVC15 (Visual C++ 2017) x64 )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.12, Copyright (c) 1998-2018 Zend Technologies

4. FuelPHPダウンロード

FuelPHP » A simple, flexible, community driven PHP5.3 framework.からFuelPHP v1.8.2のダウンロードをします。
キャプチャ_12.PNG

ダウンロードした「fuelphp-1.8.2.zip」をC:/xampp配下に回答します。

キャプチャ_13.PNG

5. Fuel PHPのシンボリックリンク作成

FuelPHPでの作業フォルダをXAMPP管理のApacheから参照できるようにシンボリックリンクを作成します。

> cd C:\xampp\htdocs
>>mklink /d public "C:workspace\sample-project/public"

6. composerで依存ライブラリの最新化

FuelPHP v1.6からcomposerを使用して依存ライブラリのダウンロードを行います。
そのため、先ずはcomposerを最新版にupdateします。

> cd C:\xampp\fuelphp-1.8.2
>php composer.phar self-update 

私の場合は、updateする前のcomposerのversionが1.6.4であった。

>php composer.phar -v
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.6.4 2018-04-13 12:04:24

このバージョンで、self-updateを行うと、Exceptionが発生することを確認しています。

>php composer.phar self-update
Updating to version 1.9.1 (stable channel).
   Downloading (100%)


  [RuntimeException]
  SHA384 is not supported by your openssl extension, could not verify the phar file integrity


self-update [-r|--rollback] [--clean-backups] [--no-progress] [--update-keys] [--stable] [--preview] [--snapshot] [--set-channel-only] [--] [<version>]

SHA384 is not supported by your openssl extension, · Issue #7802 · composer/composer · GitHub

そのため、手動でcomposerのself-updateを行います。

Composer

>php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
>php -r "if (hash_file('sha384', 'composer-setup.php') === 'baf1608c33254d00611ac1705c1d9958c817a1a33bce370c0595974b342601bd80b92a3f46067da89e3b06bff421f182') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
>php composer-setup.php
>php -r "unlink('composer-setup.php');"

composerのself-updateが完了後、最新版のcomposerで依存ライブラリのダウンロードを行います。

>php composer.phar update
>Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 15 installs, 0 updates, 0 removals
  - Installing composer/installers (v1.7.0): Downloading (100%)
  - Installing fuelphp/upload (2.0.6): Downloading (100%)
  - Installing michelf/php-markdown (1.7.0): Downloading (100%)
  - Installing psr/log (1.1.2): Downloading (100%)
  - Installing monolog/monolog (1.25.2): Downloading (100%)
  - Installing paragonie/random_compat (v9.99.99): Loading from cache
  - Installing paragonie/sodium_compat (v1.12.1): Loading from cache
  - Installing phpseclib/phpseclib (2.0.23): Downloading (100%)
  - Installing fuel/core (1.8.2): Downloading (100%)
  - Installing fuel/auth (1.8.2): Downloading (100%)
  - Installing fuel/email (1.8.2): Downloading (100%)
  - Installing fuel/oil (1.8.2): Downloading (100%)
  - Installing fuel/orm (1.8.2): Downloading (100%)
  - Installing fuel/parser (1.8.2): Downloading (100%)
  - Installing fuel/docs (1.8.2): Downloading (100%)
monolog/monolog suggests installing graylog2/gelf-php (Allow sending log messages to a GrayLog2 server)
monolog/monolog suggests installing sentry/sentry (Allow sending log messages to a Sentry server)
monolog/monolog suggests installing doctrine/couchdb (Allow sending log messages to a CouchDB server)
monolog/monolog suggests installing ruflin/elastica (Allow sending log messages to an Elastic Search server)
monolog/monolog suggests installing php-amqplib/php-amqplib (Allow sending log messages to an AMQP server using php-amqplib)
monolog/monolog suggests installing ext-amqp (Allow sending log messages to an AMQP server (1.0+ required))
monolog/monolog suggests installing ext-mongo (Allow sending log messages to a MongoDB server)
monolog/monolog suggests installing mongodb/mongodb (Allow sending log messages to a MongoDB server via PHP Driver)
monolog/monolog suggests installing aws/aws-sdk-php (Allow sending log messages to AWS services like DynamoDB)
monolog/monolog suggests installing rollbar/rollbar (Allow sending log messages to Rollbar)
monolog/monolog suggests installing php-console/php-console (Allow sending log messages to Google Chrome)
paragonie/random_compat suggests installing ext-libsodium (Provides a modern crypto API that can be used to generate random bytes.)
paragonie/sodium_compat suggests installing ext-libsodium (PHP < 7.0: Better performance, password hashing (Argon2i), secure memory management (memzero), and better security.)
paragonie/sodium_compat suggests installing ext-sodium (PHP >= 7.0: Better performance, password hashing (Argon2i), secure memory management (memzero), and better security.)
phpseclib/phpseclib suggests installing ext-libsodium (SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.)
phpseclib/phpseclib suggests installing ext-mcrypt (Install the Mcrypt extension in order to speed up a few other cryptographic operations.)
phpseclib/phpseclib suggests installing ext-gmp (Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.)
Writing lock file
Generating autoload files

7. 疎通確認

XAMPPのApacheを起動し、http://localhost/public が起動できることを確認します。

キャプチャ_14.PNG

これで、実装したエンドポイントにリクエストを送信し、期待した結果が得られれば環境構築はOKです。

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?