Laravel環境構築
Q&A
解決したいこと
Windows 環境で Laravel アプリケーションの開発を行うチュートリアルを行っています。
ブラウザ(chrome)で、URLを入力しても狙い通りの画面がしゅつりょくされません。
解決方法を教えてください。
発生している問題・エラー
「
Fatal error: Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 8.0.0". You are running 7.2.34-24+ubuntu20.04.1+deb.sury.org+1. in /home/vagrant/code/sample/vendor/composer/platform_check.php on line 24
」
自分で試したこと
Composerを使うために必要なPHPのバージョンが8.0.0以上である必要があるのに、低すぎるというエラーとあったので、PHPのバージョンを上げるために、Dockerfileの中に記載している「FROM php:7.2-fpm」
の中を書き換えようとしましたが、記載自体がなかったため、書き換えができませんでした。
phpのバージョンをcmdより確認すると、ローカルで
「
PHP 8.0.12 (cli) (built: Oct 19 2021 11:21:05) ( ZTS Visual C++ 2019 x64 )
Copyright (c) The PHP Group
Zend Engine v4.0.12, Copyright (c) Zend Technologies
」
仮想環境で
「PHP 8.0.11 (cli) (built: Sep 23 2021 21:26:24) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.11, Copyright (c) Zend Technologies
with Zend OPcache v8.0.11, Copyright (c), by Zend Technologies
」
と表示されているので、問題ないようです。
Homesteadディレクトリ直下にHomestead.yamlが存在し、
Homesteadディレクトリ直下にある、resourcesというフォルダー直下に、Homestead.yamlがあるため、両方のfolders:とsites:を書き換えて、仮想環境を再起動しましたが、開かないままでした。
@skys215さんが教えてくださった方法を試します。
現在、composer.jsonの中の一部は以下の状態です。
「
"require": {
"php": "^5.6 || ^7.0",
"symfony/console": "~3.3|~4.0",
"symfony/process": "~3.3|~4.0",
"symfony/yaml": "~3.3|~4.0"
}
」
下記の通りに変更しました。
「
"require": {
"php": "^7.2 || ^8.0",
"symfony/console": "~3.3|~4.0",
"symfony/process": "~3.3|~4.0",
"symfony/yaml": "~3.3|~4.0"
}
」
仮想環境を再起動しましたが、エラーメッセージは同じ状態です。
composer check-platform-reqsを実行しました。
「
No vendor dir present, checking platform requirements from the lock file
ext-dom 20031129 success
ext-json 8.0.12 success
ext-libxml 8.0.12 success
ext-mbstring 8.0.12 success
ext-phar 8.0.12 success
ext-tokenizer 8.0.12 success
ext-xml 8.0.12 success
ext-xmlwriter 8.0.12 success
php 8.0.12 doctrine/instantiator requires php (>=5.3,<8.0-DEV) failed
」
「どのエクステンションがPHP8.0を求めてるかチェックができます」とのことですが、この後、どうすればよいのかわかっていません。
「無理矢理にエラーを無視したい場合 は、
composer install --ignore-platform-reqsを使ってphpのバージョンチェックを無視することができます。(あるいはcomposer.jsonのconfigセクションに"platform-check": false,を追加)
その後、composer autoload-dumpを実行。」
を試しましたが、以下のようになります。
composer install --ignore-platform-reqs
「
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. It is recommended that you run composer update
or composer update <package name>
.
Package operations: 44 installs, 0 updates, 0 removals
- Downloading zendframework/zend-stdlib (3.2.0)
- Downloading psr/container (1.0.0)
- Downloading container-interop/container-interop (1.2.0)
- Downloading zendframework/zend-validator (2.10.2)
- Downloading zendframework/zend-escaper (2.6.0)
- Downloading zendframework/zend-uri (2.6.1)
- Downloading zendframework/zend-loader (2.6.0)
- Downloading zendframework/zend-http (2.8.0)
- Downloading zendframework/zend-console (2.7.0)
- Downloading phly/changelog-generator (v2.2.0)
- Downloading webmozart/assert (1.2.0)
- Downloading phpdocumentor/reflection-common (1.0.1)
- Downloading phpdocumentor/type-resolver (0.4.0)
- Downloading phpdocumentor/reflection-docblock (4.1.1)
- Downloading phpunit/php-token-stream (2.0.1)
- Downloading sebastian/version (2.0.1)
- Downloading sebastian/resource-operations (1.0.0)
- Downloading sebastian/recursion-context (3.0.0)
- Downloading sebastian/object-reflector (1.1.1)
- Downloading sebastian/object-enumerator (3.0.3)
- Downloading sebastian/global-state (2.0.0)
- Downloading sebastian/exporter (3.1.0)
- Downloading sebastian/environment (3.1.0)
- Downloading sebastian/diff (2.0.1)
- Downloading sebastian/comparator (2.1.0)
- Downloading phpunit/php-text-template (1.2.1)
- Downloading doctrine/instantiator (1.0.5)
- Downloading phpunit/phpunit-mock-objects (4.0.4)
- Downloading phpunit/php-timer (1.0.9)
- Downloading phpunit/php-file-iterator (1.4.3)
- Downloading theseer/tokenizer (1.1.0)
- Downloading sebastian/code-unit-reverse-lookup (1.0.1)
- Downloading phpunit/php-code-coverage (5.2.3)
- Downloading phpspec/prophecy (1.7.3)
- Downloading phar-io/version (1.0.1)
- Downloading phar-io/manifest (1.0.1)
- Downloading myclabs/deep-copy (1.7.0)
- Downloading phpunit/phpunit (6.4.4)
- Downloading symfony/polyfill-mbstring (v1.6.0)
- Downloading psr/log (1.0.2)
- Downloading symfony/debug (v3.3.13)
- Downloading symfony/console (v3.3.13)
- Downloading symfony/process (v3.3.13)
- Downloading symfony/yaml (v3.3.13)
- Installing zendframework/zend-stdlib (3.2.0): Extracting archive
- Installing psr/container (1.0.0): Extracting archive
- Installing container-interop/container-interop (1.2.0): Extracting archive
- Installing zendframework/zend-validator (2.10.2): Extracting archive
- Installing zendframework/zend-escaper (2.6.0): Extracting archive
- Installing zendframework/zend-uri (2.6.1): Extracting archive
- Installing zendframework/zend-loader (2.6.0): Extracting archive
- Installing zendframework/zend-http (2.8.0): Extracting archive
- Installing zendframework/zend-console (2.7.0): Extracting archive
- Installing phly/changelog-generator (v2.2.0): Extracting archive
- Installing webmozart/assert (1.2.0): Extracting archive
- Installing phpdocumentor/reflection-common (1.0.1): Extracting archive
- Installing phpdocumentor/type-resolver (0.4.0): Extracting archive
- Installing phpdocumentor/reflection-docblock (4.1.1): Extracting archive
- Installing phpunit/php-token-stream (2.0.1): Extracting archive
- Installing sebastian/version (2.0.1): Extracting archive
- Installing sebastian/resource-operations (1.0.0): Extracting archive
- Installing sebastian/recursion-context (3.0.0): Extracting archive
- Installing sebastian/object-reflector (1.1.1): Extracting archive
- Installing sebastian/object-enumerator (3.0.3): Extracting archive
- Installing sebastian/global-state (2.0.0): Extracting archive
- Installing sebastian/exporter (3.1.0): Extracting archive
- Installing sebastian/environment (3.1.0): Extracting archive
- Installing sebastian/diff (2.0.1): Extracting archive
- Installing sebastian/comparator (2.1.0): Extracting archive
- Installing phpunit/php-text-template (1.2.1): Extracting archive
- Installing doctrine/instantiator (1.0.5): Extracting archive
- Installing phpunit/phpunit-mock-objects (4.0.4): Extracting archive
- Installing phpunit/php-timer (1.0.9): Extracting archive
- Installing phpunit/php-file-iterator (1.4.3): Extracting archive
- Installing theseer/tokenizer (1.1.0): Extracting archive
- Installing sebastian/code-unit-reverse-lookup (1.0.1): Extracting archive
- Installing phpunit/php-code-coverage (5.2.3): Extracting archive
- Installing phpspec/prophecy (1.7.3): Extracting archive
- Installing phar-io/version (1.0.1): Extracting archive
- Installing phar-io/manifest (1.0.1): Extracting archive
- Installing myclabs/deep-copy (1.7.0): Extracting archive
- Installing phpunit/phpunit (6.4.4): Extracting archive
- Installing symfony/polyfill-mbstring (v1.6.0): Extracting archive
- Installing psr/log (1.0.2): Extracting archive
- Installing symfony/debug (v3.3.13): Extracting archive
- Installing symfony/console (v3.3.13): Extracting archive
- Installing symfony/process (v3.3.13): Extracting archive
- Installing symfony/yaml (v3.3.13): Extracting archive
Generating autoload files
」
composer autoload-dump
「
[Symfony\Component\Console\Exception\CommandNotFoundException]
Command "autoload-dump" is not defined.
」
composer.lockファイルを削除しました。
いったん、vagrantをアンインストールして取り直しました。
apache/nginx
storage/logs/laravel.log
の場所を確認したのですが、それらしいlogが見当たりませんでした。
.envのAPP_ENVをdevelopmentに変えて、リフレッシュしましたが、ダメでした。
以下のサイトより、composerをインストールして、ログインページを出力しました。
「https://www.youtube.com/watch?v=M7ZV0GKm4lI&list=PLh6V6_7fbbo8bb7eajaLdsQZ9fLhMJ-oc&index=1」
いろいろなウェブページをみて、表示させたため、理解できていないのが心残りです。