私はLaravelをWindows OSに何度もインストールしましたが、このような問題は起こりませんでした。この500の内部サーバは通常あなたの "mod_rewrite"モジュールがオンになっていないときに発生します。
しかし、Ubuntu 14.04では、この問題は私に頭痛を与えています。私はrewrite_modをインストールしましたが、それはまた働いていません。内部のすべてのフォルダとファイルへのアクセスを許可しました。
/ var/www/html/laravel_project
それでもうまくいきません。 .htaccessも元のものからこれに変更されました。
+FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
私はLaravel 5+にも必要な拡張をすべて持っています。私がしなかったことが残っていますか?
最後に問題を克服しました
問題を解決するために、私は端末を通して以下のコマンドを実行しました。
Sudo chmod -R 755 laravel_blog
次に、laravelがファイルをストレージフォルダに書き込むことができるように、以下のように入力します。
chmod -R o+w laravel_blog/storage
この2つのコマンドは問題を解決しました。
インストール後にコマンドの下に実行
Sudo chmod 755 -R laravel
chmod -R o+w laravel/storage
ここで "laravel"はlaravelがインストールされているディレクトリの名前です
初心者が、これは私が何もキーを持っていなかったcozをしたものです
.envファイルを作成して実行する
php artisan key:generate
Gitプロジェクトを引っ張った後、これは私のために働きました
私はこのコマンドで修正しました:
rm -rf app/storage/logs/laravel.logs
chmod -R 777 app/storage,
php artisan cache:clear,
php artisan dump-autoload OR composer dump-autoload
サーバーを再起動するよりはむしろXAMPPまたは他のXAMPPを使っていてそれでうまくいくはずです。
私は同様のエラーに直面しました。ログを/var/log/Apache2/error.log
でチェックしたところ、nexpectedValueExceptionが見つかりました。
私は所有者をプロジェクトdirの下のstorageフォルダの私のApacheユーザーに変更しました。
Sudo chown -R www-data:www-data ./storage
私の場合、Apache2のプロセスの所有者はwww-data
ですので、これをあなたのものに変更してください。これはApache2の設定ファイルにあります。これがあなたにとって役に立つことを願っています。
この問題に対する別の解決策があります。
プロジェクトのルートからcomposerコマンドを実行して、必要なパッケージをインストールします。
Sudo composer install
更新:
編集:
.env
ファイルがあるかどうかを確認してください。
ほとんどの場合、これはそのようなことを引き起こす可能性があります。ファイルを作成し、.env.example
からすべてをコピーし、作成したファイルに貼り付けて.env
という名前を付けます。またはjsutは単に.env.example
ファイルの名前を.env
に変更してphp artisan key:generate
を実行するだけです。
PHP 7.0とPHP 7.1がインストールされていて、コマンドラインでPHP 7.1を使用し、ApacheでPHP 7.0が有効になっていLaravel Frameworkとlocalhost Apache2をlaravelと一緒に使用している場合、めちゃくちゃになると問題が発生する可能性があります。
あなたのPHPバージョンを見るためにあなたの作曲家ファイルを最初にチェックしてください。
"php": "^7.1.3",
"laravel/framework": "5.6.*",
現在のPHPのバージョンをコマンドラインで確認する
php -v
現在Apacheで有効になっているPHPのバージョンを確認してください。私はブラウザを使用しました。
http://localhost
同じでない場合は、現在のバージョンを無効にして最新のバージョンを有効にします。
Sudo a2dismod php7.2
Sudo a2enmod php7.1
Sudo service Apache2 restart
変更後のフォルダのアクセス許可
Sudo chmod 755 -R blog
格納フォルダ用
chmod -R o+w blog/storage
時々phpバージョンに問題があります。サーバーからphpのバージョンを変更する必要があります。下の文字列を。htaccessファイルに書き留めるだけです。
AddHandler application/x-httpd-php5 .php
Laravelがインストールされているディレクトリで次の2つのコマンドを実行します。
Sudo chmod 755 -R DIRECTORY_NAME
chmod -R o+w DIRECTORY_NAME/storage
それからキャッシュをクリアして自動ロードをダンプします。
php artisan cache:clear
composer dump-autoload
私はこの問題に何度も直面しました。それが私を大いに助けたこれらのステップの1つを試みなさい。多分それはまたあなたを助けるでしょう。
Gitを使うときによくある問題
Laravel's .gitignore ignores the .env file which when missing generates this error
これを解決するには、手動で.envファイルをサーバーに追加するか、またはFTPを介してアップロードします。
上記の理由の他に、laravelが500の内部サーバーエラーを発生させることができる他の理由があります。欠けているか古いCSRF、構文エラー、.htaccessミス設定などを含みます。ここでカバーされているリスト全体があります https://abbasharoon.me/how-to-fix-laravel-ajax-500-internal -サーバーエラー/
Laravelのルートでこれら2つのコマンドを実行
* type d -print0を見つけます。 xargs -0 chmod 0755#ディレクトリ用
見つけます。 -type f -print0 | xargs -0 chmod 0644#ファイル用
他のすべての答えを試した後、私のようなエラーがまだ発生しているあなたのために:
Apacheが使用しているphpのバージョンを確認してください。最新のlaravelはphp7.1でのみ動作します。だからあなたはする必要があります:
Sudo a2dismod php[yourversion]
Sudo a2enmod php7.1
Sudo systemctl restart Apache2
お役に立てれば
共有ホストについても同様の問題があります。私は500エラーがありました。 LaravelバージョンとPHPバージョンをチェックすることで修正しました。 Laravel 5.6がPHP 7.0.xで実行されないため、エラーが発生しました。これがわかったら、プロジェクトをLaravel 5.5に再設定します。PHP 7.0.xこれですべて問題ありません。私は時々問題を抱えているもう一つの理由は私が壊れたファイルを取得し、プロジェクトを複数回アップロードしなければならないFTPです。私はこのトピックであまり多くの情報を見つけられない将来的にこの助けを願っています。
まず、プロジェクトフォルダ(laravelと呼びます)、storageサブフォルダとそのlogsサブフォルダ、およびvendorサブフォルダ(laravel/storage、laravel/storage/logsとlaravel/vendor)に対するすべてのアクセス許可を許可します。
それから、あなたの持っている.envファイルをチェックしてください - そうでなければ、あなたは実行できます:
$ mv .env.example .env
ビルドインの.env.exampleを必要な.envに変更します。
そうでなければデバッグモードをオンにします - .envを開いて設定します
APP_DEBUG=true
そしてlaravel/config/app.phpを開いて変更してください。
'debug' => env('APP_DEBUG', false),
に
'debug' => env('APP_DEBUG', true),
だからあなたはあなたのエラーの理由が何であるかを見つけることができます。
私はこの問題に直面し、Apacheで私のphpバージョンを5.6.xにアップグレードすることによって修正しました
ログのディレクトリに書き込む権限がないためです。
chmod 755ストレージ-R
ログによると:
[06-Feb-2016 22:38:48 Europe/Berlin] PHP Warning: require(/Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/../vendor/autoload.php): failed to open stream: No such file or directory in /Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/autoload.php on line 17
[06-Feb-2016 22:38:48 Europe/Berlin] PHP Fatal error: require(): Failed opening required '/Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/../vendor/autoload.php' (include_path='.:/Applications/MAMP/bin/php/php7.0.0/lib/php') in /Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/autoload.php on line 17
[06-Feb-2016 22:43:37 Europe/Berlin] PHP Warning: require(/Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/../vendor/autoload.php): failed to open stream: No such file or directory in /Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/autoload.php on line 17
[06-Feb-2016 22:43:37 Europe/Berlin] PHP Fatal error: require(): Failed opening required '/Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/../vendor/autoload.php' (include_path='.:/Applications/MAMP/bin/php/php7.0.0/lib/php') in /Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/autoload.php on line 17
/ vendorフォルダにファイルを開くときに失敗することがあります。
作曲家経由でインストールして更新することで、私はついに問題を解決することができました。
Sudo composer install
Sudo composer update
ライブサーバー上でこれを試してみてください
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
それから、あなたのcomposer.jsonのphpバージョンがあなたのサーバーのものと同じであることも確認してください。
php -v
を使ってあなたの端末のあなたのphpバージョンをチェックしてください
書き込み権限(chmod o + w)で保存フォルダを確認し、魅力のように私のために働く。
このコマンドでのみWebフォルダのアクセス権を変更します。
Sudo chmod 755 -R your_folder