按照官网文档(https://learnku.com/docs/laravel-development-environment/7.x/development-environment-windows/8444)官方文档完成,项目启动后,访问域名报错500,
tail -f /var/log/nginx/another.test-error.log
2020/05/31 12:12:16 [error] 2692#2692: *1 FastCGI sent in stderr: "PHP message: PHP Fatal error: Declaration of Carbon\Translator::setLocale($locale) must be compatible with Symfony\Contracts\Translation\LocaleAwareInterface::setLocale(string $locale) in /home/vagrant/Code/test/vendor/nesbot/carbon/src/Carbon/Translator.php on line 18
PHP message: PHP Stack trace:
PHP message: PHP 1. {main}() /home/vagrant/Code/test/public/index.php:0
PHP message: PHP 2. App\Http\Kernel->handle() /home/vagrant/Code/test/public/index.php:55
PHP message: PHP 3. App\Http\Kernel->sendRequestThroughRouter() /home/vagrant/Code/test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:109
PHP message: PHP 4. App\Http\Kernel->bootstrap() /home/vagrant/Code/test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:135
PHP message: PHP 5. Illuminate\Foundation\Application->bootstrapWith() /home/vagrant/Code/test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:151
PHP message: PHP 6. Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() /home/vagrant/Code/test/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:230
PHP message: PHP 7. Illuminate\Foundation\Application->boot() /home/vagrant/Code/test/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17
PHP message: PHP 8. array_walk() /home/vagrant/Code/test/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:851
PHP message: PHP 9. Illuminate\Foundation\Application->Illuminate\Foundation\{closure:/home/vagrant/Code/test/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:849-851}() /home/vagrant/Code/test/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:851
PHP message: PHP 10. Illuminate\Foundation\Application->bootProvider() /home/vagrant/Code/test/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:850
PHP message: PHP 11. Illuminate\Foundation\Application->call() /home/vagrant/Code/test/vendor/laravel/framewo
2020/05/31 12:12:16 [error] 2692#2692: *1 FastCGI sent in stderr: "erviceProvider->updateLocale() /home/vagrant/Code/test/vendor/nesbot/carbon/src/Carbon/Laravel/ServiceProvider.php:20
PHP message: PHP 19. Carbon\Carbon::setLocale() /home/vagrant/Code/test/vendor/nesbot/carbon/src/Carbon/Laravel/ServiceProvider.php:40
PHP message: PHP 20. Carbon\Carbon::getLocaleAwareTranslator() /home/vagrant/Code/test/vendor/nesbot/carbon/src/Carbon/Traits/Localization.php:480
PHP message: PHP 21. Carbon\Carbon::translator() /home/vagrant/Code/test/vendor/nesbot/carbon/src/Carbon/Traits/Localization.php:728
PHP message: PHP 22. spl_autoload_call() /home/vagrant/Code/test/vendor/nesbot/carbon/src/Carbon/Traits/Localization.php:691
PHP message: PHP 23. Composer\Autoload\ClassLoader->loadClass() /home/vagrant/Code/test/vendor/nesbot/carbon/src/Carbon/Traits/Localization.php:691
PHP message: PHP 24. Composer\Autoload\includeFile() /home/vagrant/Code/test/vendor/composer/ClassLoader.php:322
PHP message: PHP 25. include() /home/vagrant/Code/test/vendor/composer/ClassLoader.php:444" while reading response header from upstream, client: 192.168.10.1, server: another.test, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.1-fpm.sock:", host: "another.test"
原因:主要是加载的PHP7.1版本,在Homestead.yaml中没有配置PHP版本,所以默认加载的PHP7.1,在Homestead.yaml中修改以下:
sites:
- map: another.test
to: /home/vagrant/Code/test/public
php: "7.4"
修改完成重新加载vagrant:cd ~/Homestead && vagrant reload --provision
浏览器中访问:http://another.test/,这下已经可以正常访问了
登录虚拟机:vagrant ssh
查看虚拟主机配置参数:已经更改成PHP7.4版本,具体看下图
vim /etc/nginx/sites-available/another.test
vim /etc/nginx/sites-enabled/another.test