ふたりはララベル (Laravel PHP Framework)

PHPフレームワークのLaravelの体験記を書いていきます。こんなタイトルのブログですが萌え系アニメは一秒たりとも観たことがありません。

エラーと失敗

LaravelでPHPUnitを使ってNo tests executed!

Laravel5.4でPHPUnit6を使ったときに「No tests executed!」が出る。Laravel5.4はPhpunit6に対応していないので、vendor内にあるphpunitを使うと解決できる。 php vendor\phpunit\phpunit\phpunit

Image source not readableの対処

大きな画像を送って「Image source not readable」が出た場合はphp.iniの「upload_max_filesize」の値を大きくすれば対処できる。

Laravel5でajax

Laravel5.2系の古いバージョンでajax動かしていたんだけど、5.2系の新しいバージョンだと動かない。よくわからないけどTOKEN入れないとダメらしい。js側 $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } }); ヘッ…

XserverのPHPでエラー

Laravel5.3をXserverで動かそうとしたらエラーになった。 [ERROR] Use of undefined constant STDIN - assumed 'STDIN'bootstrap/autoload.phpの先頭にdefine('STDIN', fopen('php://stdin', 'r'));を置いたら収まった。何だったんだ。

Laravelのmigrate:resetで外部キーエラー

Laravelで php artisan migrate:resetしたら、以下のエラーが出た。外部キー関連のエラー。 SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or upda te a parent row: a foreign key constraint fails (SQL: drop table if exists `t…

Python3とdecode

Python3で作ったスクリプトをWindowsのコマンドプロンプト上で実行したら、日本語部分のdecodeが失敗した。この部分が line.strip().decode('ascii')こういうエラーを出す。 UnicodeDecodeError: 'ascii' codec can't decode byte 0x82 in position 28: inva…

LaravelのSentryでattributeのエラー

LaravelのSentryで以下のエラーが出た。 The [login] attribute is required原因はlogin_attributeの設定を間違えていたことだった。 'login_attribute' => 'email',

migrateにどうしても失敗する

migrateにどうしても失敗する場合がある。以下みたいなメッセージ。 php artisan migrate Do you really wish to run this command? yes {"error":{"type":"Symfony\\Component\\Debug\\Exception\\FatalErrorException", "message":"Class 'CreateUsersTabl…

Laravelでworkbenchのconfigをコピーする

Laravelでパッケージのconfigをコピーするときはconfig:publishを使う。 # php artisan config:publish vendor/packageしかし自作パッケージの場合は失敗する # php artisan config:publish myvendor/mypackage [InvalidArgumentException] Configuration no…

Form::modelでエラーが発生する

Form::modelでMethodNotAllowedHttpExceptionのエラーが発生する場合は、methodの設定間違いの可能性がある。「'method' => 'PUT'」を足したら直った。 {{ Form::model( $task, ['route' => ['tasks.update', $task->id], 'role'=>'form', 'method' => 'PUT'…

Sentryでconfig設定忘れでエラー

Sentryでconfigのコピーを忘れていると以下のようなエラーがでる。 Array to string conversion以下のコマンドを打てばconfigがコピーされる。 php artisan config:publish cartalyst/sentry

自作したworkbenchのcontrollerが見つからない

workbenchでパッケージを自作したときに、パッケージ内のcontrollerが見つからずnot foundのエラーが表示される。 これはcomposer.jsonファイルに以下を追記すれば大丈夫。 "autoload": { "classmap": [ "src/controllers" ],これでdump-autoloadすればcontr…

Laravelのパッケージを自作するときのエラー

config/workbench.phpにユーザ名とメールアドレスを設定しておかないと以下の様なエラーがでる。 [Composer\Json\JsonValidationException] "./composer.json" does not match the expected JSON schema: - authors[0].email : Invalid email

MassAssignmentExceptionエラーと_token

MassAssignmentExceptionと_token。この二つが表示されるエラーが出たらほぼ確実にEloquentの保護設定忘れ。セキュリティ的にはまったく推奨されていないけどEloquentに protected $guarded = [];の一行を入れれば解決する。セキュリティ的には解決しないけ…

Composerのエラーの原因を調査する

プロキシが必要な環境でComposerを使う場合には set HTTP_PROXY=http://ユーザ名:パスワード@プロキシのホスト:ポート番号実行する。それでもcomposerが動かない場合がある。以下の様なエラーがでるときだ。 [Composer\Downloader\TransportException] The "…

ErrorException: Constant already definedが出る

LaravelでPHPunitを使うと ErrorException: Constant AWK already definedというメッセージが出る。自作した定数値設定ファイルのconstants.phpを二重読み込みしているみたい。他に解決作ありそうだけどとりあえず require_once 'constants.php';で回避した。

Laravel-Excelが上手く動かない

Laravel-Excelが正常にエクセルファイルを読み込んでくれなかったけど、エクセルの見出し行の読み込みが怪しかったので、vendor\maatwebsite\excel\src\config\import.phpのheadingをfalseにしたら動いた。

pearのエラー

pearを使った時に No releases available for packageというエラーが出てclearしても直らない場合は pear config-showで設定を確認してみる。プロキシの設定忘れとかあるかもしれない。

artisanコマンドのエラー対処

○artisanのmigrate createコマンドで生成したファイルは、別環境に持っていっても動かない。例えばphp artisan migrate:resetの際に、以下の様なエラーメッセージが出る。 >php artisan migrate:reset {"error":{"type":"Symfony\\Component\\Debug\\Excepti…

Laravelのバージョンをあげるとdb:seedに失敗する

デフォルトのUserモデルを使っている人が、Laravelのバージョンをあげるとdb:seedに失敗する。以下のようなメッセージが出る。 C:\xampp\futari>php artisan db:seed {"error":{"type":"Symfony\\Component\\Debug\\Exception\\FatalErrorException","me ssa…

MySQLの0000-00-00を避ける

MySQLの日付型に空情報を入れると自動的に「0000-00-00」に変換されてしまう。これを避けるにはnullを入れる。 $inputs = Input::all(); if(!$inputs['birthday']){ $inputs['birthday'] = null; }テーブルを作るときには日付型はnull入力を可能にしておく。…

サービスプロパイダーを登録するとエラーになる

○サービスプロパイダーを登録するとエラーになる コマンドでサービスプロパイダーを作って php artisan workbench futari/rei --resourcesapp/config.phpにサービスプロパイダーを追記すると 'providers' => array( 'Illuminate\Foundation\Providers\Artisa…

ModelNotFoundExceptionがキャッチできない

App::errorでModelNotFoundExceptionがキャッチできなかった。App::errorでエラーをキャッチするときってフルパスで書かないとダメなのか。フルパスで書く例はこちら。 App::error(function(\Illuminate\Database\Eloquent\ModelNotFoundException $e) { ret…

migrateのテーブル作成に失敗する

migrateでテーブル作成しようとすると、こんなエラーが出る時がある。 C:\xampp\futari>php artisan migrate [Illuminate\Database\QueryException] SQLSTATE[42S02]: Base table or view not found: 1146 Tableこれはmigrateでmakeするときのオプションに、…

ApiGenが途中で止まる

ApiGenでドキュメント生成中に Used 90% of the current memory limit, please increase the limit to generate the whole documentationと失敗することがある。これはphpのメモリ不足が原因なので、php.iniのメモリ値を例えば memory_limit=256Mと変更する。

Windowsのtelnetクライアントが動かない

Windowsのtelnetクライアントであるtelnet.exeってセッションモードとコマンドモードを切り替えながら動作するんだけど、コマンドプロンプト以外でやるとうまく動かないのか。しょうがないのでコマンドプロンプトを使い続けている。

ApiGenが動かない

pearを使ってApiGenをインストールしたところ、ApiGenフォルダがC:\xampp\php\配下に作られなかったみたいだ。ApiGenが動かない。こんなエラーが出た。 Warning: require(Texy.php): failed to open stream: No such file or directory in C:\xampp\php\apig…

WindowsのFTPサーバにPASVモードを追加する

WindowsでFTPサーバするときは、PASVモードを追加する必要があるみたい。やっていなかったら「425 Failed to establish connection.」ってエラーが出た。リンク先を見ながらやったらうまくいった。 nEST's SPACE-Blog [425 Failed to establish connection.]…

Laravelを他の環境に持って行ったら画面が真っ白

Laravelを他の環境に持って行ったら画面が真っ白になった。以下の二つのコマンドを実施したら治った。 php artisan dump-autoload chmod 777 app/storage/*

LaravelでNO_ZERO_DATEは効かない

MySQLに「NO_ZERO_DATE」を指定すると、Laravelが動かなくなった。どうやらtimestamps()が違反するらしい。 SQLSTATE[42000]: Syntax error or access violation: 1067 Invalid default value for 'created_at'