タグ: Composer

  • [PHP]CakePHPインストール

    [PHP]CakePHPインストール

    PHPをインストール

     CakePHPにはPHP本体が含まれませんし、CakePHPは普通のアプリのようにダウンロードしてインストールするものではありません。なんというか、CakePHPのテンプレートプロジェクトをつくるみたいな感じです。
     はじめに次のサイトからWindows用(x64スレッドセーフ、ZIP圧縮)のPHPをダウンロードします。

    https://windows.php.net/download

     ZIPファイルの中身を任意のフォルダに置きます。

     [システムのプロパティ]-[システムの詳細設定]-[環境設定]の[Path]に中身を置いたフォルダを追加します。

     php.iniを次のように変更します。この変更をしていないとComposerの命令でエラーが発生します。

    ;extension=intl
     ↓
    extension=intl

    Composerをインストール

     CakePHPはComposerを使ってインストールします。
     まずはComposerをインストールします。次のサイトからComposerをダウンロードします。

    https://getcomposer.org/download/

     ダウンロードのリンクがわからないときは次のリンクからダウンロードできます。

    https://getcomposer.org/Composer-Setup.exe

     ダウンロードが終わったら実行します。
    選択肢がでてきたら『Install for all users (recommended)』を選びます。
    チェックマークがあっても変更しません。

    Composerのアップデート方法

     Windowsコマンドプロンプトから次の命令を実行します。

    composer self-update

    CakePHPのプロジェクトをインストール

     まず新しくindex.phpを置く空のフォルダを作成します。このフォルダに何か入っていると失敗します。
     つぎにWindowsコマンドプロンプトを開きます。
    カレントディレクトリを作成したフォルダにするために次の命令を実行します。

    cd /d "フォルダのパス"

     Composerを最新に更新します。

    composer self-update

    CakePHPのプロジェクトをつくります。

    composer create-project --prefer-dist cakephp/app

     途中で『Set Folder Permissions ? (Default to Y)』と聞かれたら『Y』と入力します。

    エラーがでたとき

    Your requirements could not be resolved to an installable set of packages.
    
      Problem 1
        - cakephp/cakephp[4.4.0, ..., 4.4.11] require ext-intl * -> it is missing from your system. Install or enable PHP's intl extension.
        - Root composer.json requires cakephp/cakephp 4.4.* -> satisfiable by cakephp/cakephp[4.4.0, ..., 4.4.11].
    
    To enable extensions, verify that they are enabled in your .ini files:
        - D:\php\php.ini
    You can also run `php --ini` in a terminal to see which files are used by PHP in CLI mode.
    Alternatively, you can run Composer with `--ignore-platform-req=ext-intl` to temporarily ignore these required extensions.

     上のエラーでは『require ext-intl』と書かれています。このばあいはPHPをインストールしたフォルダにある『php.ini』を次のように変更します。

    ;extension=intl
     ↓
    extension=intl

     無事にCakePHPの開発を始められれば幸いです。