検索
ホームページPHPフレームワークThinkPHPLaradocke が実行する TP プロジェクトについて

次は、Laradocke 実行 TP プロジェクトについて紹介する thinkphp フレームワーク チュートリアルのコラムです。困っている友達のお役に立てれば幸いです!

Laradocke が実行する TP プロジェクトについて

1. laradock を初めて起動すると、ビルド プロセスが非常に遅くなります。

コンテナのプルの問題により、イメージはデフォルトで海外にあるため、コンテナを docker-compose する前に、.env ファイルで次のテキストを探してください

CHANGE_SOURCE=``false

次に、false を false true に変更し、次のテキストを探します。

#UBUNTU_SOURCE=aliyun

先頭の # を削除します。コメントを削除し、デフォルトの外部ミラー ソースを最速の国内ミラー ソースに変更します。aliyunのミラー ソース

次に、ワークスペースのタイム ゾーンを中国のタイム ゾーンに変更し、次のテキストを見つけます

WORKSPACE_TIMEZONE=UTC

UTC を PRC に変更します

次にコマンドを実行します

docker-compose up -d nginx mariadb

開始する必要があるコンテナを選択してください

自分で比較してくださいビルド時間後、帯域幅 20M 未満で、ミラー ソースが変更されていなければ、1 つと同じくらい高速になります変更後は 10 分しかかかりません

# 2. laradock が起動しています コンテナーのビルド ワークスペース プロセス中にエラーが報告されます

関連テキスト「raw.githubusercontent.com」が表示された場合は、ドメイン名をローカル ホストの IP にバインドします

Linux を例に挙げます

vim ` `/etc/hosts

ファイルに「199.232.28.133 raw.githubusercontent.com」と入力します

3. Composer のインストールが遅い

laradock をインストールした後、git を使用してワークスペース コンテナー内のサードパーティのホスティング ウェアハウスから tp5 フレームワークをプルし、フレームワークの依存関係をインストールします。この時点では、composer のインストールは非常に遅くなります。国内のソースを置き換える必要がある場合は、次のコマンドを実行します。

composer config -g repo.packagist combos https:``//packagist``.phpcomposer.com

4. Composer はインストールするバージョン番号を無視します

Composer のインストール中にエラー メッセージ「Your要件をインストール可能なパッケージのセットに解決できませんでした。」が表示された場合は、次のことができます。インストールのバージョン番号を無視して、次のコマンドを実行します

composer ``install --ignore-platform-reqs

5. Composer は tp5 のデータベース移行ツールをインストールします

tp5.0 の移行ツールは 1.

、tp5.1 の移行ツールは 2.バージョン番号が指定されていない場合は、デフォルトで最新のバージョンがインストールされます。移行ツールでは、次のコマンドを実行します。

composer require topthink``/think-migration``=1.*

##6. laradock の tp5 でデータベース接続を設定するとき、ホストはコンテナ名を入力します。私は mariadb コンテナを使用します。したがって、次の構成

##'host'=>'mariadb'

7. tp5 はランタイムに完全な権限を与えます##hmod -r runtime 777

8. TP5 は、mysql

Add によってスローされた例外をキャプチャします。 catch パラメータ Exception の前にあるバックスラッシュは、キャプチャが最下位の Exception から開始されることを示します

catch``(\Exception)

9. 画像のアップロード インターフェイスを実行すると、mkdir が許可なしのエラーを報告しました。

画像の参照を容易にするために、画像の保存ディレクトリを public/uploads に指定しましたが、エラーが報告されました。パブリックに完全な権限を与えることで解決できますchmod -r public 777

10. バックエンド インターフェイスの権限の確認

oauth2 は非常に優れた認証メカニズムです。PHP には優れたライブラリ https://github.com/thephpleague/ oauth2-server がありますが、非常に無力です。パスポートがある laravel とは異なり、また、 Drupal、cakephp、その他のフレームワークをサポートしています。Json-web-token を使用するのも良いです https://github.com/lcobucci/jwt

11. クロスドメイン処理

アプリケーションディレクトリの tags.php に、アプリケーションの初期化時に実行されるファイルを追加します。 applicationapi/behavior/CORS.php ファイル、および header

// アプリケーションの初期化``'app_init'

はアプリケーションの初期化プロセス中に発行されます

=> [` `' app\\api\\behavior\\CORS'``],

クロスドメイン ファイル<pre class="brush:php;toolbar:false">&lt;?php namespace app\api\behavior; use think\Response; class CORS{ public function appInit(&amp;$params) { header(&amp;#39;Access-Control-Allow-Origin: *&amp;#39;); header(&quot;Access-Control-Allow-Headers: token,Origin, X-Requested-With, Content-Type, Accept&quot;); header(&quot;Access-Control-Allow-Methods:GET, POST&quot;); if (request()-&gt;isOptions()) {             exit();         }     }}</pre> <hr> <p><span class="header-link octicon octicon-link"></span><strong>12. git プッシュ/プルには本人確認が必要です。ユーザー名とパスワードを複数回入力してください</strong></p> <p>Linux 環境では、ウェアハウス ディレクトリを実行します。 ##境界線なしでパケットを送信するように設定し、HTTP リクエスト バッファーを大きく設定します</p>##git config --global sendpack.sideband false git config --global http.postBuffer 524288000<p><code>

14. nginx は tp5 pathinfo をサポートしていませんプロジェクトに対応する .conf ファイル構成を変更します

<?php
namespace app\api\behavior; use think\Response; class CORS
{ public function appInit(&$params)
    { header(&#39;Access-Control-Allow-Origin: *&#39;);
    header("Access-Control-Allow-Headers: token,Origin, X-Requested-With, Content-Type, Accept");
    header("Access-Control-Allow-Methods:GET, POST"); 
        if (request()->isOptions()) {
            exit();
        }
    }
}

以前の場所を変更 ~ .php$ {

<pre class="brush:php;toolbar:false"> location ~ \.php {      try_files $uri /index.php =404;     fastcgi_pass php-upstream;     fastcgi_index index.php;     fastcgi_buffers 16 16k;     fastcgi_buffer_size 32k;     # 添加部分↓↓↓↓     # Set var PATH_INFO     fastcgi_split_path_info ^(.+\.php)(.*)$;     fastcgi_param PATH_INFO $fastcgi_path_info;     #  添加部分↑↑↑↑     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;        #fixes timeouts     fastcgi_read_timeout 600;     include fastcgi_params;}</pre>時間を見つけて具体的なオプションを学習します

14. Docker 設定の国内ソース

sudo tee /etc/docker/daemon.json

vim /etc/docker/daemon.json

次の内容を入力し、アドレスは自分で選択できます

{
  "registry-mirrors": ["https://uxk0ognt.mirror.aliyuncs.com"]
  }

#その後、次の手順を実行します

systemctl daemon-reload

systemctl restart docker

##Note

ご存知のとおり, github からのクローン作成は常に行われています。比較的遅いです。Code Cloud を使用して、事前に一般的に使用されるウェアハウスを独自の Code Cloud ワークスペースにインポートすることを選択できます。使用する必要がある場合は、Code Cloud を通じてクローンを作成してください

以上がLaradocke が実行する TP プロジェクトについての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はlearnkuで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい