メインコンテンツまでスキップ

よくある問題と解決策

最も一般的な問題とその解決策の包括的なガイドです。


インストールの問題

インストール後に白いページが表示される

原因: 通常はファイルパーミッションの問題。

修正:

# Laravel ログを確認
tail -50 storage/logs/laravel.log

# パーミッションを修正
sudo chmod -R 775 storage bootstrap/cache
sudo chown -R www-data:www-data storage bootstrap/cache

「Class Not Found」エラー

原因: Composer の依存関係がインストールされていないか、オートローダーが生成されていない。

修正:

composer install --no-dev --optimize-autoloader
php artisan config:clear

インストーラーが「Already Installed」と表示される

原因: storage/installed.lock ファイルが存在する。

修正: インストーラーを再実行する必要がある場合:

rm storage/installed.lock

その後 /install に再度アクセスします。

CSS/JS が読み込まれない(スタイルなしのページ)

原因: ストレージシンリンクが欠落しているか、アセットパスの問題。

修正:

php artisan storage:link
php artisan config:clear
php artisan view:clear

また、.envAPP_URL が実際のドメイン(https:// を含む)と一致していることを確認してください。


データベースの問題

「SQLSTATE[HY000] [2002] Connection Refused」

原因: MySQL が起動していないか、ホストが間違っている。

修正:

  • MySQL が起動しているか確認:sudo systemctl status mysql
  • .envlocalhost の代わりに 127.0.0.1 を試してください
  • ポートを確認(デフォルト:3306)

「SQLSTATE[HY000] [1045] Access Denied」

原因: データベース認証情報が間違っている。

修正:

  • .env のユーザー名/パスワードを確認
  • 接続をテスト:mysql -u your_user -p your_database
  • 権限を再設定:
GRANT ALL PRIVILEGES ON feedbackpulse.* TO 'your_user'@'localhost';
FLUSH PRIVILEGES;

絵文字が ???? と表示される

原因: データベースの文字セットが utf8mb4 ではなく utf8

修正:

ALTER DATABASE feedbackpulse CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Web サーバーの問題

すべてのルートで 404 が返される

Apache の修正:

sudo a2enmod rewrite
sudo systemctl restart apache2

バーチャルホストで AllowOverride All が設定されていることを確認してください。

Nginx の修正: サーバーブロックに以下があることを確認:

location / {
try_files $uri $uri/ /index.php?$query_string;
}

502 Bad Gateway(Nginx)

原因: PHP-FPM が起動していないか、ソケットパスが間違っている。

修正:

sudo systemctl restart php8.4-fpm
# ソケットパスを確認
ls /var/run/php/php8.4-fpm.sock

413 Request Entity Too Large

原因: アップロードサイズ制限が低すぎる。

修正(Nginx):

client_max_body_size 20M;

修正(PHP):

upload_max_filesize = 20M
post_max_size = 25M

認証の問題

「CSRF Token Mismatch」(419 エラー)

原因: セッションが期限切れか、Cookie の問題。

修正:

  • ブラウザの Cookie をクリアして再試行
  • .envSESSION_DOMAIN を確認(サブドメインの場合は .yourdomain.com に設定)
  • HTTPS を使用している場合のみ SESSION_SECURE_COOKIE=true を設定

パスワードリセット後にログインできない

原因: ブラウザが古いセッションをキャッシュしている。

修正: ブラウザの Cookie をクリアするか、シークレットモードを使用してください。

ソーシャルログインがエラーを返す

原因: コールバック URL が一致しない。

修正: Google/GitHub コンソールのコールバック URL が正確に一致していることを確認:

  • Google:https://yourdomain.com/auth/google/callback
  • GitHub:https://yourdomain.com/auth/github/callback

決済の問題

詳細な決済のトラブルシューティングは 決済ゲートウェイの問題 を参照してください。


メールの問題

詳細なメールのトラブルシューティングは メールが送信されない を参照してください。


パフォーマンスの問題

最適化のヒントは パフォーマンス最適化 を参照してください。


キャッシュの問題

迷ったときは、すべてのキャッシュをクリアしてください:

php artisan optimize:clear

これにより以下がクリアされます:

  • 設定キャッシュ
  • ルートキャッシュ
  • ビューキャッシュ
  • アプリケーションキャッシュ
  • コンパイル済みクラスキャッシュ

デバッグモード(一時的)

詳細なエラーメッセージを表示するには:

  1. .env を編集:
APP_DEBUG=true
LOG_LEVEL=debug
  1. エラーを再現します
  2. エラーページまたは storage/logs/laravel.log を確認します
  3. 完了したら直ちに APP_DEBUG=false に設定してください!
警告

本番環境では APP_DEBUG=true のままにしないでください。 機密情報が公開されます。


サポートを受ける

上記のいずれも問題を解決しない場合:

  1. storage/logs/laravel.log で完全なエラートレースを確認
  2. Web サーバーのエラーログを確認(/var/log/nginx/error.log または /var/log/apache2/error.log
  3. CodeCanyon のアイテムコメントで同様の問題を検索
  4. 以下を含むサポートチケットを開いてください:
    • エラーメッセージ(ログから)
    • PHP バージョン(php -v
    • Laravel バージョン
    • サーバーの詳細(OS、Web サーバー、MySQL バージョン)
    • 再現手順