すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:ThinkPHPフレームワークを構築する

最終更新日:Apr 18, 2024

ThinkPHPは、Apache2オープンソースライセンスの下で配布されている、オープンソース、高速、シンプル、軽量、およびオブジェクト指向のPHP開発フレームワークです。 ThinkPHPは、アジャイルwebアプリケーションを開発し、エンタープライズアプリケーション開発を簡素化するように設計されています。 このトピックでは、Alibaba Cloud Linux 3、Alibaba Cloud Linux 2、およびCentOS 7.xを実行するElastic Compute Service (ECS) インスタンスでThinkPHP 8.0フレームワークを構築する方法について説明します。

前提条件

このトピックは、PHPを学習している、またはThinkPHPフレームワークに基づいてアプリケーションを開発しているユーザーを対象としています。 ThinkPHPフレームワークを構築する場合、ECSインスタンスは次の要件を満たす必要があります。

  • パブリックIPアドレスがインスタンスに割り当てられるか、elastic IPアドレス (EIP) がインスタンスに関連付けられます。

  • オペレーティングシステムAlibaba Cloud Linux 3、Alibaba Cloud Linux 3、またはCentOS 7.x。

  • インスタンスのセキュリティグループのインバウンドルールは、ポート22、8000、および443でのトラフィックを許可します。 8000はThinkPHPのデフォルトポートです。 詳細については、「セキュリティグループルールの追加」をご参照ください。

手順

  1. PHP 8.0をインストールします。

    説明

    ThinkPHP 8.0にはPHP 8.0以降が必要です。

    1. インスタンスがAlibaba Cloud Linux 3を実行している場合は、OpenSSL10の依存関係をインストールします。

      sudo yum install -y compat-openssl10
    2. PHPをインストールします。

      Alibaba Cloud Linux 2およびAlibaba Cloud Linux 3

      1. 次のコマンドを実行して、YUMリポジトリを更新します。

        sudo rpm -Uvh https://mirrors.aliyun.com/remi/enterprise/remi-release-7.rpm
      2. 次のコマンドを実行して、PHP 8.0リポジトリを有効にします。

        sudo yum-config-manager -- enable remi-php80
      3. 次のコマンドを実行してPHPをインストールします。

        sudo yum install -y php php-cli php-fpm php-common php-mysqlnd php-gd php-mbstring

      CentOS 7.x

      1. YUMリポジトリを更新します。

        1. 次のコマンドを実行して、Extra Packages for Enterprise Linux (EPEL) リポジトリとRemiリポジトリをインストールします。

          sudo yum install -y epel-release
          sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm 
        2. 次のコマンドを実行して、PHP 8.0リポジトリを有効にします。

          sudo yum-config-manager -- enable remi-php80
      2. 次のコマンドを実行してPHPをインストールします。

        sudo yum install -y php php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json
    3. 次のコマンドを実行して、PHPのバージョンを表示します。

      php -v

      次のコマンド出力は、PHPがインストールされていることを示します。

      PHP 8.0.30 (cli) (ビルド: 8月3日2023 17:13:08) ( NTS gcc x86_64)
      著作権 (c) PHPグループ
      Zendエンジンv4.0.30、著作権 (c) Zend Technologies 
  2. Composer をインストールします。

    ComposerはPHPの依存関係管理ツールです。 プロジェクトに必要な外部依存関係を定義および管理できます。 このような依存関係を自動的にインストール、更新、およびロードすることもできます。 詳細については、Composerの公式ウェブサイトをご覧ください。

    1. Composerに必要な依存関係をインストールします。

      sudo yum install -y unzip git
    2. Composer をインストールします。

      curl -sS https://getcomposer.org/installer | php
      sudo mv composer.phar /usr/local/bin/composer 
    3. Composerのバージョンを表示します。

      composer -- version

      以下の情報は、Composerがインストールされていることを示します。

      image

  3. ThinkPHPをインストールします。

    1. Composerを使用して新しいThinkPHPアプリケーションを作成します。

      次のコマンドを実行して、現在のディレクトリにmy-thinkphp-appディレクトリを作成し、ThinkPHPのコアファイルと依存関係をダウンロードします。

      作曲家create-project topthink/think my-thinkphp-app
    2. ディレクトリを新しいThinkPHPアプリケーションディレクトリに変更し、ThinkPHP組み込みサーバーを起動します。

      cd my-thinkphp-app
      php think run 

      次の情報は、ThinkPHPが開始されたことを示します。

      image

    3. ブラウザを開き、アドレスバーにhttp:// <ECSインスタンスのパブリックIPアドレス>:8000と入力します。

      インターフェイスに通常アクセスできる場合は、ThinkPHPがデプロイされていることを示します。

  4. Webサーバー (本番環境) を設定します。

    ThinkPHPアプリケーションを展開するには、本番環境でApache HTTP serverやNGINX web ServerなどのWebサーバーを作成する必要があります。 フレームワークルーティングが機能するように、webサーバーのURL書き換えルールを適切に設定する必要があります。

    Apacheの設定例。 mod_rewriteモジュールを有効にする必要があります。

    <IfModule mod_rewrite.c>
        オプション + FollowSymlinks-インデックス
        RewriteEngineオン
    
        RewriteCond %{REQUEST_FILENAME} ! -d
        RewriteCond %{REQUEST_FILENAME} ! -f
        RewriteRule ^(.*)$ index.php/$1 [QSA、PT、L]
    </IfModule>
    

    NGINXの設定例:

    location / {
        if (!-e $request_filename) {
           書き換え ^(.*)$ /index.php?s=/$1 last;
           break;
        }
    }
    

参考資料

ThinkPHPの開発規則とディレクトリ構造の詳細については、開発規則ディレクトリ構造をご覧ください。