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

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

藏色散人
藏色散人転載
2020-10-13 10:18:112782ブラウズ

次は、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">8e5f4823a1a069d93bb8997d8962fea6isOptions()) {             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 <<-'EOF'

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.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。