root
アカウントを使用してプロジェクトがサーバーにデプロイされた後、アクセスすると 500 エラーが返されます。
問題が発生したら、まず次の考え方に従って問題を見つけます。
nginx エラー ログの表示
表示php エラー ログ
コード ブレーク ポイントにアクセスできるかどうかをテストします
#エラー ログにトレースが見つかりません。通常、500 個のエラーが発生します。コードエラーが原因で、laravelが開いているか確認してください。 デバッグ関数:
# 查看 .env APP_DEBUG=true
設定後、ページにエラーメッセージが表示されます: ログファイルには書き込み権限がありません。これは、ログ ファイルの所有者とユーザー グループが両方とも root
であり、デフォルトの権限が 755 であるため、root
以外の他のユーザーは書き込みできないためです。
次のコマンドを実行して php-fpm の所有者を表示します:
ps -ef | grep php-fpm
戻り情報:
apache 9520 11965 0 May25 ? 00:02:11 php-fpm: pool www apache 10437 11965 0 May26 ? 00:02:10 php-fpm: pool www root 11965 1 0 May20 ? 00:07:35 php-fpm: master process (/etc/php-fpm.conf)
最初の列は php です- fpmの実行ユーザー。
ls -l storage/
drwxr-xr-x 3 root root 4096 Jul 11 18:17 app drwxr-xr-x 6 root root 4096 Jul 12 10:58 framework drwxr-xr-x 2 root root 4096 Jul 12 16:17 logs
ここで、ファイル所有者が root であり、php は他のユーザーのみが持っていることがわかります。読み取りおよび実行権限はありますが、書き込み権限はありません。
# -R 指递归的修改文件夹和此文件夹下所有内容 # 我的 php 是用户 apache 的,请参考自己的情况修改 chown apache storage/logs -R
フレームワーク フォルダーには、書き込む必要のあるアクセス許可もあります。ビュー レイヤーによって生成されたキャッシュはその中にあります。
chown apache storage/framework -R
Laravel 開発環境の展開ホームステッドのインストールと構成プロセス (Windows システム)
Laravel ルーティング (ルーター) ダイアグラムの詳細説明
以上がLaravel.logファイルの書き込みの問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。