dnmp下新建laravel项目若干问题
1. 运行环境
dnmp
1). 当前使用的 Laravel 版本?
8.65
2). 当前使用的 php/php-fpm 版本?
PHP 版本:8.0
3). 当前系统
Windows 10 / Ubuntu 20.4
2. 问题描述?
原先的docker镜像是属于老项目(大多数都是yii框架)使用的。运行的php版本还是7.0版本,mysql版本是5.6版本。于是添加了8.0版本,准备进行安装laravel:
在dnmp的www目录中新建一个code文件夹,和code同级的文件夹是可以运行的项目目录,下面有N个项目。安装demo
,最后执行:
./vendor/bin/sail up
提示:
⠿ laravel.test Error
...
Error response from daemon: driver failed programming external connectivity on endpoint example-app_redis_1 (25e18968001b454e790b855755b82d8c944421f8561aa90563363146e9891b48): Bind for 0.0.0.0:6379 failed: port is already allocated
想着之前有reids服务,就算不安装也应该没啥问题,但是访问的时候提示:
Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 7.4.0".
3. 尝试
改变安装方式,使用composer的方式进行安装:
composer create-project laravel/laravel example-app
最后访问的时候依然提示:
Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 7.4.0".
查看电脑php版本为PHP 8.1.0 (cli)
,composer安装版本也为此版本。
查找了相关的解决方式是,在composer.json
中添加:
"platform-check": false
然后分别执行:
php artisan config:cache
composer dump-autoload
但是治标不治本啊。
于是把之前项目的镜像都停了,laravel这边就可以正常访问了,但是启动那边的服务之后又发现那边的镜像无法启动,还是80端口被占用,也就是说现在只能跑一个容器,因为都使用了80端口。改了laravle下的docker-compose.yml
的端口改为8080,但是提示laravel.test_1的80端口被占用。
4. 您期望得到的结果?
想请问一下,有没有什么方法能够让两个容器下的项目都能同时运行,并且共同使用80端口,或者其中一个使用其他端口进行使用,例如laravel使用8080端口?
推荐文章: