Home > Articles > composer, Laravel > Laravel の composer install で In PackageManifest.php line 122 : Undefined index: name が出て困った話
【Laravel】 Cron タスクスケジューラの onOneServer() と withoutOverlapping() の違いPHPcronLaravel はじめに Laravel には Cron を利用したタスクスケジューリング機能があります。 Task Scheduling - Laravel - The PHP Framework For Web Artisans タスクスケジュール 8.x Laravel ところが素でこれをそのまま使うと,ワーカーとして複数インスタンスを立ててスケーリングしている場合などに,重複実行されてしまう問題があります。これを防ぐためには基本は onOneServer() を使っておけばいいのですが,なにやら withoutOverlapping() というものも存在することを知りました。微妙に用途が異なるみたいなので,ここで整理しておこうと思います。
目的 Windows7で ・Vagrant ・VirtualBox を使ってlaravel5.5の開発環境を構築する。 ただしProxyを介しているので いくつか別途Proxy用の設定があったので、 それを含めて記述する。 Windows7 Professional 32bit Vagrant 1.9.5 VirtualBox 5.1.22 CentOS7.4 VirtualBoxとVagrantのインストール Vagrantをダウンロードしてインストールする。 https://www.vagrantup.com/downloads.html VirtualBoxをダウンロードしてインストールする。 https://www.virtualbox.org/ 必要であれば、gitBashもインストールする。(Git Bash上でコマンドを打つため) https://git-scm.com/do
イントロダクション Laravelはアプリケーションに対するHTTPリクエストを作成し、出力を検査するためのとても記述的なAPIを用意しています。例として、以下のテストをご覧ください。 <?php namespace Tests\Feature; use Tests\TestCase; use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Foundation\Testing\WithoutMiddleware; class ExampleTest extends TestCase { /** * 基本的な機能テストの例 * * @return void */ public function testBasicTest() { $response = $this->get('/'); $response->ass
3年弱Laravelを使っていたのに、今まで存在を知らなかった便利な機能「クエリスコープ」を使ってみました。 こんなケース ブログサイトを作っていたとして、記事データを取得する機会って結構あると思います。 検索結果を表示する時 記事の詳細を表示する時 最近の記事を表示する時 関連する記事を表示する時 仕様によっては、まだまだあると思います。 そんな時、おきまりの様に毎回指定する条件があったりします。 ステータスコードが「公開」である 画面表示日時が公開日時に含まれている これを検索のたびに毎回書くのってなんか嫌ですよね。 そこで登場するのがクエリスコープです。 クエリスコープには Eloquentモデルを使うと勝手に条件が追加されるグローバルスコープ 条件を一つのメソッドにまとめて、条件を追加したい時にだけ使うローカルスコープ があります。 今回は、過去の記事を取得したいケースも考慮し、グ
DockerでLaravelの開発環境を構築します。 プロジェクトをcloneしたらコマンド1つで開発が始められるようになります。 もう環境構築に半日も工数をとる必要はありません。 構築する開発環境 構築する環境は以下の通りです。 ホスト Docker 19.03.5(インストール済み) コンテナ PHP 7.3 Apache 2.4 MySQL 5.7.29 PHPMyAdmin(おまけ) いわゆるLAMP環境です。 ディレクトリ構成 最終的なディレクトリ構成は以下の通りです。Laravelプロジェクトはmyappに保存します。 project ├── docker │ ├── docker-compose.yml │ └── php-apache │ ├── apache2.conf │ └── php.ini │ └── Dockerfile └── myapp
php:npm run devとnpm run productionの違い2020-07-28 20:42私はLaravelとvue.jsで非常に新しいです。違いは何ですか? npm run dev そして npm run production これは環境と関係がありますか? npm run dev ソースマップを作成し、js/cssを縮小しないため、デバッグとエラーの発見が容易になります npm run production 一方、ソースマップは作成されず、すべてのjs/cssファイルが縮小されるため、本番環境で使用できるようになり、システムによる読み取りが高速になります。 一般的にあなたは使いたいでしょう npm run dev サイトを開発しているとき npm run production デプロイする準備ができたとき。 これらは、 package.json スクリプトを実行する 以
【Laravel】エラー対応 Class 'Intervention\Image\ImageServiceProvider' not found
はじめに LaravelではabortというHTTP例外を投げるヘルパが存在します https://readouble.com/laravel/6.0/ja/errors.html#http-exceptions 通常のHTTP例外を返すのによく使われていますが、jsonの例外を投げるのにも使えることを知ったのでそのメモです jsonによる例外 結論から言うとresponseインスタンスからjsonを作ってそれをそのままabortに食わっせるだけでおkです 独自で例外作ってhanderに食わせるのもなーってときに使えるのはとても便利 abort全般で使えます abort(response()->json(['message' => 'error!'], 400)); abort_if('hoge' === 'hoge', response()->json(['message' => 'er
はい、というわけでまたまた Laravel ネタです。 Laravel の認証では Basic 認証を使うことができるようになっています。 参考 しかしながら標準機能では email / password の入力で固定になっており、ユーザー名で認証することができません。 そこでちょちょいと手を入れて email 以外のパラメーターでIDを使えるようにしてみましょう。 元々のファイル 標準ドキュメントを見ると Route::get('profile', function() { // 認証済みのユーザーのみが入れる })->middleware('auth.basic'); protected $routeMiddleware = [ 'auth' => \Illuminate\Auth\Middleware\Authenticate::class, 'auth.basic' => \Ill
今回、初めて、usersテーブル以外の別のテーブルで認証をする機能を作成したので、メモがてら記事にしておきます。 今回やろうとしたことは、laravelが標準で用意してくれているusersテーブルではなく、自分で作成したaccountsテーブルで認証することです。 テーブルの中身は結果的に標準装備のusersテーブルと同じになってしまいました。(標準のusersテーブルは別で使いました) マイグレーションファイルと、モデルを作成 Modelとマイグレーションファイルを同時に作成していきます。 <?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreateAccoun
概要 外部ライブラリをcomposerなどでインストールして使っていると、 $_SERVERなどの値が必要とのエラーが出たりした。 そういった場合の対応として調べたことをメモしておく。 $_SERVERの値を追加する $_SERVERの値をsetUpメソッドで定義する namespace Tests\Feature; use Tests\TestCase; class hogeTest extends TestCase { /** * テスト前の準備作業 * * @access public * @return void */ public function setUp() { $_SERVER['HTTP_HOST'] = 'www.example.com'; $_SERVER['REQUEST_URI'] = 'http://www.exsample.com/mypage'; pare
以前、Laravel5でベーシック認証を作成したのですが、Laravel6では使えなくなりました。 ただ、Laravel6ではデフォルトでベーシック認証が用意されているので、今回はそちらを使ってみます。 デモ デモサイト 【ベーシック認証】id:test@example.com / pass: testtest 手順 1.ログイン認証機能の作成 ベーシック認証を通すアカウントとパスワードはDBテーブルの usersテーブル のレコードになります。 デフォルトでusersテーブルを生成するマイグレーションファイルがあるので php artisan migrateコマンドを実行すると生成されます。 ただ、ベーシック認証用のレコードを挿入する必要があるので、今回はログイン認証機能を作成することにします。(※シーダーで挿入してもOK) Laravel6のログイン機能の作成は以前にエントリーしました
Laravel5でEloquent ORMで実行した最後にinsertされたIDを取得する必要がある際があると思います。 今回の記事では、Laravel5でEloquent ORM・Query Builderで実行したLastInsertIDの取得する方法を紹介します。 save()メソッドを使用している場合 save()メソッドを使用して、テーブルにinsertしている際には、下記のようにするとLastInsertIDを取得することが出来ます。 idがUserモデルの主キーとした場合、上記のように記載することで最後にinsertしたIDを取得することが出来ます。 create()メソッドを使用している場合 こちらもsave()メソッドを使用した場合と同様にLastInsertIDを取得することが出来ます。 insertGetId()メソッドを使用する方法 DBにインサートするのにDB c
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く