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

藏色散人
リリース: 2020-10-13 10:18:11
転載
2695 人が閲覧しました

次は、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'``],

クロスドメイン ファイル<div class="code" style="position:relative; padding:0px; margin:0px;"><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><div class="contentsignin">ログイン後にコピー</div></div> <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$ {

<div class="code" style="position:relative; padding:0px; margin:0px;"><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><div class="contentsignin">ログイン後にコピー</div></div>時間を見つけて具体的なオプションを学習します

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 サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:learnku.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!