テンセントクラウドThinkPHP Server less Component

4344 ワード

公式メンテナンスのThinkPHP Componentがリリースされており、公式版を使用することができます.静的資源処理は拡張子列挙で実現されているため、私のビジネスニーズを満たすことはできません.そのため、本倉庫はしばらく維持されます.公式版があなたのニーズを満たしている場合は、公式版を使用することをお勧めします.
Github:https://github.com/TLingC/tencent-thinkphp
概要
テンセントクラウドThinkPHP Server less Component.
本プロジェクトはtencent-laravel修正に基づいて、ThinkPHPの実行をサポートするとともに、静的リソースの互換性を最適化します.
目次
  • 準備
  • 取付
  • 構成
  • 導入
  • 削除
  • 0.準備
    ThinkPHPプロジェクトの初期化
    このコンポーネントを使用する前に、thinkphpプロジェクトを自分で初期化する必要があります.
    composer create-project topthink/think serverless-thinkphp
    

    ThinkPHP項目の修正
    クラウド関数は実行時に/tmpのみ読み書き可能であるため、本componentはentryに対応する実行ディレクトリを設定しているため、実行ディレクトリは追加の変更を必要としない.
    また,クラウド関数は無状態であるため,cache,sessionなどは外部保存に移行することを推奨する.
    1.インストール
    npmによるserverless cliのグローバルインストール
    $ npm install -g serverless
    

    2.構成
    プロジェクトルートディレクトリで、次のように構成されたserverless.ymlファイルを作成します.
    $ touch serverless.yml
    
    # serverless.yml
    
    MyComponent:
      component: '@tlingc/tencent-thinkphp'
      inputs:
        region: ap-guangzhou
        functionName: thinkphp-function
        code: ./
        functionConf:
          timeout: 10
          memorySize: 128
          environment:
            variables:
              TEST: vale
          vpcConfig:
            subnetId: ''
            vpcId: ''
        apigatewayConf:
          protocols:
            - https
          environment: release
    
  • component名のほか、本プロジェクトの構成項目はtencent-laravelと一致し、より多くの構成
  • を表示する.
    3.配置
    注意:導入前に、php think clearを実行する前に、ローカルで実行されている構成キャッシュをクリーンアップする必要があります.
    アカウントにログインしていないか、テンセントクラウドに登録していない場合は、 スキャンコマンドラインのQRコードでログインと登録を許可することができます.slsコマンドで配置し、--debugパラメータを追加して配置中の情報を表示できます.
    $ sls --debug
    

    注意:slsserverlessコマンドの略記です.
    4.削除
    配置されたAPIゲートウェイを次のコマンドで削除します.
    $ sls remove --debug
    

    アカウント構成(オプション)
    現在のデフォルトでは、CLIスキャンQRコードログインがサポートされています.永続的な環境変数/鍵情報を構成する場合は、.envファイルをローカルに作成することもできます..envファイルにテンセントクラウドのSecretIdとSecretKey情報を設定して保存
    テンセントクラウドアカウントがなければ、ここで新しいアカウントを登録することができます.
    テンセントクラウドアカウントがある場合、API鍵管理でSecretIdSecretKeyを取得することができる.
    # .env
    TENCENT_SECRET_ID=123
    TENCENT_SECRET_KEY=123
    

    その他のコンポーネント
    Severless Components repoでは、より多くのコンポーネントの情報を問い合わせることができます.
    原文:https://tlingc.com/2020/03/tencent-cloud-thinkphp-serverless-component/