質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

1回答

23687閲覧

【Laravel】artisanコマンドが動かなくなってしまいました

hiroaki510

総合スコア16

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2018/07/09 09:17

編集2018/07/12 01:32

前提・実現したいこと

パスワードリセットのメールを自分で作ろうとこのqiitaの記事を参考にしていたのですが、envファイルを編集していたらartisanコマンドが動かなくなってしまいました。

OS mac10.13
PHP7.1.14
laravel 5.6

発生している問題・エラーメッセージ

artisanコマンドを使っても何も起きません。
エラーなども表示されないです。

該当のソースコード

envファイルを上記リンクを手本に変更しました。

MAIL_DRIVER=smtp MAIL_HOST=smtp.gmail.com MAIL_PORT=587 MAIL_USERNAME=<Gmailアドレス> MAIL_PASSWORD=<Googleのパスワード> MAIL_ENCRYPTION=tls MAIL_FROM_ADDRESS=<Gmailアドレス> MAIL_FROM_NAME=demo-laravel-crud

その後artisanコマンドを使おうとしたのですが、何も起きませんでした。

試したこと

動かなくなってしまっては困るので、envファイルを元の状態に戻しました。

APP_NAME=Laravel APP_ENV=local APP_KEY= APP_DEBUG=true APP_URL=http://localhost LOG_CHANNEL=stack DB_CONNECTION=sqlite DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=database/database.sqlite DB_USERNAME=homestead DB_PASSWORD=secret BROADCAST_DRIVER=log CACHE_DRIVER=file SESSION_DRIVER=file SESSION_LIFETIME=120 QUEUE_DRIVER=sync REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_DRIVER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null PUSHER_APP_ID= PUSHER_APP_KEY= PUSHER_APP_SECRET= PUSHER_APP_CLUSTER=mt1 MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

追記1

色々とググってみて、composer dump-autoloadをコマンドラインで実行したところ、

Generating optimized autoload files > Illuminate\Foundation\ComposerScripts::postAutoloadDump > @php artisan package:discover Script @php artisan package:discover handling the post-autoload-dump event returned with error code 255

と表示されました。
エラー文で検索すると、composer.jsonファイルに

"extra": { "laravel": { "dont-discover": [ "laravel/dusk" ] } },

を追記しろとあったので追記しましたが、特に変わりありません。。。
https://stackoverflow.com/questions/46986001/script-php-artisan-packagediscover-handling-the-post-autoload-dump-event-retur

追記2

エラー文で検索すると、このページを見つけました。
ですが、envファイルが「抜けている」・「追加する」とは???
という状態です。
もちろん自分でも調べてみますが、ご存知の方教えてください。

追記3

bootstrap/cache/config.phpを削除すれば直る、
といった解決法を見つけたのですが、特にそういったファイルは見当たりません。

追記4 (k-fukuda様の修正依頼の結果)

composer dump-autoload -vvvをおこなった結果以下のようになりました。

Reading ./composer.json Loading config file ./composer.json Checked CA file /private/etc/ssl/cert.pem: valid Executing command (/Users/hiro/Developer/portfolio_app/stock_app): git branch --no-color --no-abbrev -v Failed to initialize global composer: Composer could not find the config file: /Users/hiro/.composer/composer.json To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section Reading /Users/hiro/Developer/portfolio_app/stock_app/vendor/composer/installed.json Running 1.6.5 (2018-05-04 11:44:59) with PHP 7.1.16 on Darwin / 17.6.0 Generating optimized autoload files > post-autoload-dump: Illuminate\Foundation\ComposerScripts::postAutoloadDump > post-autoload-dump: @php artisan package:discover Executing command (CWD): '/usr/bin/php' -d allow_url_fopen='1' -d disable_functions='' -d memory_limit='1536M' artisan package:discover Script @php artisan package:discover handling the post-autoload-dump event returned with error code 255

パッと見た感じだと、composer.jsonが作られていないというこでしょうか???

追記5(これが原因?)

.envファイルを編集する際(「該当のソースコード」に記載したコードを書いた際)、ローカルサーバーを切らず立ちっぱなしにしていました。
考えられる原因として、これがいけなかったのでしょうか・・・?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

k-fukuda

2018/07/10 04:14

envファイルの内容は上に書かれている6行だけでしょうか?もし他に記載があれば追記して下さい。
hiroaki510

2018/07/10 05:04

申し訳ありません。追記致しました。もしご存知でしたらご教示願います。
k-fukuda

2018/07/10 06:43

エラーも何も出ないってのが解せないですね。。。composer installはしてますよね?あとcomposer dump-autoload -vvvを実行するとどんな結果が返ってくるでしょう?
hiroaki510

2018/07/10 06:51

composer installをしても、追記1の欄に書きましたcomposer dump-autoloadと同じ結果が返ってきます。composer dump-autoload -vvvの結果に関しては質問欄に追記致します。
k-fukuda

2018/07/10 08:59

composer.jsonが無さそうですね。このLaravelプロジェクトはどうやって作ったのでしょうか?
hiroaki510

2018/07/10 09:15

composerを使って作りました。composer create-project laravel/laravel stock_app --prefer-dist とターミナルで記述しました。これがいけなかったのでしょうか?
k-fukuda

2018/07/10 09:17

いえ、それで合ってます。/Users/hiro/Developer/portfolio_app/stock_appの直下にcomposer.jsonはありますか?
hiroaki510

2018/07/10 09:25

はい、あります。
k-fukuda

2018/07/10 10:05

となるとキャッシュでしょうか。composer clear-cache を実行してからcomposer dump-autoloadしてみて下さい。
hiroaki510

2018/07/10 10:11

composer clear-cacheは問題なく実行されました。ですが、composer dump-autoloadは追記1の欄と同じ結果になってしまいます。。。 検索の途中で見つけたのですが、.envファイルを編集したらphp artisan config:cacheを実行しないといけないとあったのですが、それをしていなかったのが原因なんでしょうか。。。??
k-fukuda

2018/07/11 07:39

いや、それは実行しなくても問題なく動きます。コレ以上になると実際の状態を見ないとわからないですね。。
hiroaki510

2018/07/11 14:19

かしこまりました。貴重なお時間を割いていただきありがとうございました!ひとまず、プロジェクトを作り直したいと思います。
hiroaki510

2018/07/12 01:25

度々申し訳ありません、原因の追求をしたいので質問欄に追記したしました。お手数でなければ、ご教示願います。
hiroaki510

2018/07/13 00:55

自己解決出来ました。回答ありがとうございました。
guest

回答1

0

自己解決

自己解決しました

どうやら、Handler.phpの記述がおかしかったようです。

php

1 //修正前。予期せぬページに行くと、500エラーなどが出るようにしました。 2  //エラー文を見たかったので、return parent::render($request, $exception);以外をコメントアウトにしました。 3public function render($request, Exception $exception) 4 { 5 // if($exception instanceof ValidationException) { 6 return parent::render($request, $exception); 7 // } 8 9 /* if($this->isHttpException($exception)) { 10 if($exception->getStatusCode() == 403) { 11 return response()->view('errors.403'); 12 } 13 elseif($exception->getStatusCode() == 404) { 14 return response()->view('errors.404'); 15 } 16 }else{ 17 return response()->view('errors.500'); 18 } 19 */ 20 }

php

1 //修正後。コメントアウトの外にreturn parent::render($request, $exception);を記述するようにしました。 2 3public function render($request, Exception $exception) 4 { 5 /* if($exception instanceof ValidationException) { 6 return parent::render($request, $exception); 7 } 8 9 if($this->isHttpException($exception)) { 10 if($exception->getStatusCode() == 403) { 11 return response()->view('errors.403'); 12 } 13 if($exception->getStatusCode() == 404) { 14 return response()->view('errors.404'); 15 } 16 } 17 return response()->view('errors.500'); 18 */ 19 return parent::render($request, $exception); 20 21 }

修正したら、無事artisanコマンドが使えるようになりました!

投稿2018/07/13 00:54

hiroaki510

総合スコア16

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問