seth-shi / monday-shop

网上在线商城、综合网上购物平台
618 stars 178 forks source link

迁移的时候出错,请问怎么解决 #42

Closed huzige433 closed 1 year ago

huzige433 commented 1 year ago

docker exec monday-shop-service php artisan migrate

In Connection.php line 664:

SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from inform
ation_schema.tables where table_schema = mondayshop and table_name = migrat
ions and table_type = 'BASE TABLE')

In Exception.php line 18:

SQLSTATE[HY000] [2002] No such file or directory

In PDOConnection.php line 40:

SQLSTATE[HY000] [2002] No such file or directory

seth-shi commented 1 year ago

数据库链接是不是没有配置好.

huzige433 commented 1 year ago

换了个远程服务器配置好了,迁移成功后, 打开首页还是空白页,首行报错,有意外错误,请问还有其他操作要执行吗?

seth-shi commented 1 year ago

看一下 storage/logs 目录的错误, 可能是没给文件权限

huzige433 commented 1 year ago

`[stacktrace]

0 /var/www/vendor/laravel/framework/src/Illuminate/Support/helpers.php(1124): Illuminate\Encryption\EncryptionServiceProvider->Illuminate\Encryption\{closure}('')

1 /var/www/vendor/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php(48): tap('', Object(Closure))

2 /var/www/vendor/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php(24): Illuminate\Encryption\EncryptionServiceProvider->key(Array)

3 /var/www/vendor/laravel/framework/src/Illuminate/Container/Container.php(785): Illuminate\Encryption\EncryptionServiceProvider->Illuminate\Encryption\{closure}(Object(Illuminate\Foundation\Application), Array)

4 /var/www/vendor/laravel/framework/src/Illuminate/Container/Container.php(667): Illuminate\Container\Container->build(Object(Closure))

5 /var/www/vendor/laravel/framework/src/Illuminate/Container/Container.php(615): Illuminate\Container\Container->resolve('encrypter', Array)

6 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(767): Illuminate\Container\Container->make('encrypter', Array)

7 /var/www/vendor/laravel/framework/src/Illuminate/Container/Container.php(927): Illuminate\Foundation\Application->make('encrypter')

8 /var/www/vendor/laravel/framework/src/Illuminate/Container/Container.php(855): Illuminate\Container\Container->resolveClass(Object(ReflectionParameter))

9 /var/www/vendor/laravel/framework/src/Illuminate/Container/Container.php(816): Illuminate\Container\Container->resolveDependencies(Array)

10 /var/www/vendor/laravel/framework/src/Illuminate/Container/Container.php(667): Illuminate\Container\Container->build('App\\Http\\Middle...')

11 /var/www/vendor/laravel/framework/src/Illuminate/Container/Container.php(615): Illuminate\Container\Container->resolve('App\\Http\\Middle...', Array)

12 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(767): Illuminate\Container\Container->make('App\\Http\\Middle...', Array)

13 /var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(152): Illuminate\Foundation\Application->make('App\\Http\\Middle...')

14 /var/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

15 /var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

16 /var/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(682): Illuminate\Pipeline\Pipeline->then(Object(Closure))

17 /var/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(657): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))

18 /var/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(623): Illuminate\Routing\Router->runRoute(Object(Illuminate\Http\Request), Object(Illuminate\Routing\Route))

19 /var/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(612): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))

20 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))

21 /var/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))

22 /var/www/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

23 /var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Fideloper\Proxy\TrustProxies->handle(Object(Illuminate\Http\Request), Object(Closure))

24 /var/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

25 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

26 /var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))

27 /var/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

28 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

29 /var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))

30 /var/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

31 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

32 /var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request), Object(Closure))

33 /var/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

34 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(62): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

35 /var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))

36 /var/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

37 /var/www/vendor/barryvdh/laravel-cors/src/HandlePreflight.php(29): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

38 /var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Barryvdh\Cors\HandlePreflight->handle(Object(Illuminate\Http\Request), Object(Closure))

39 /var/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

40 /var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

41 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\Pipeline\Pipeline->then(Object(Closure))

42 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))

43 /var/www/vendor/hhxsv5/laravel-s/src/Illuminate/Laravel.php(153): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))

44 /var/www/vendor/hhxsv5/laravel-s/src/LaravelS.php(251): Hhxsv5\LaravelS\Illuminate\Laravel->handleDynamic(Object(Illuminate\Http\Request))

45 /var/www/vendor/hhxsv5/laravel-s/src/LaravelS.php(202): Hhxsv5\LaravelS\LaravelS->handleDynamicResource(Object(Hhxsv5\LaravelS\Illuminate\Laravel), Object(Illuminate\Http\Request), Object(Swoole\Http\Response))

46 [internal function]: Hhxsv5\LaravelS\LaravelS->onRequest(Object(Swoole\Http\Request), Object(Swoole\Http\Response))

47 /var/www/vendor/hhxsv5/laravel-s/src/Swoole/Server.php(409): Swoole\Server->start()

48 /var/www/vendor/hhxsv5/laravel-s/src/Console/Portal.php(158): Hhxsv5\LaravelS\Swoole\Server->run()

49 /var/www/vendor/hhxsv5/laravel-s/src/Console/Portal.php(59): Hhxsv5\LaravelS\Console\Portal->start()

50 /var/www/vendor/symfony/console/Command/Command.php(255): Hhxsv5\LaravelS\Console\Portal->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))

51 /var/www/bin/laravels(167): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))

52 {main}

"} `

seth-shi commented 1 year ago

看起来像是没设置秘钥加密内容, 看一下 .env 的配置是否正确

huzige433 commented 1 year ago

APP_NAME=moon-shop APP_ENV=product APP_KEY= APP_DEBUG=true APP_LOG_LEVEL=debug

请务必修改此项为自己的 URL

APP_URL=http://shop.shiguopeng.cn

数据库设置

DB_CONNECTION=mysql DB_HOST=192.168.1.1 DB_PORT=3306 DB_DATABASE=test DB_USERNAME=root DB_PASSWORD=88888

缓存, session, 队列驱动设置

BROADCAST_DRIVER=log CACHE_DRIVER=file SESSION_DRIVER=file QUEUE_DRIVER=database

redis 数据库配置

REDIS_HOST= REDIS_PASSWORD= REDIS_PORT=6379

邮箱设置

MAIL_DRIVER=smtp MAIL_HOST=smtp.qq.com MAIL_PORT=465 MAIL_USERNAME= MAIL_PASSWORD= MAIL_FROM_ADDRESS= MAIL_FROM_NAME=MondayShop MAIL_ENCRYPTION=ssl

第三方互联登录

OAUTH_GITHUB_ID= OAUTH_GITHUB_SECRET= OAUTH_QQ_ID= OAUTH_WEIBO_ID=

支付宝支付

ALIAPY_APP_ID=

JWT_SECRET=

Docker 运行必须是 0.0.0.0

LARAVELS_LISTEN_IP=0.0.0.0 root@abacb431cd44:/var/www#

huzige433 commented 1 year ago

我有一个问题,有时我在容器内把.env改了后,再重启容器甚至时重启docker都不生效,必须重新打包镜像,再创建容器才能生效

seth-shi commented 1 year ago

不用, 修改完整之后, 在容器里面执行 php bin/laravels reload

huzige433 commented 1 year ago

我再容器里按照你的方法更新了.env (把数据库host base user pwd 都改了) Swoole [PID=1] is reloaded. 后返回 Swoole [PID=1] is reloaded. php artisan migrate 返回 Nothing to migrate. 这说明貌似调用的还是我之前填的数据库

seth-shi commented 1 year ago

那你在 php artisan tinker 执行调试一下

huzige433 commented 1 year ago

不好意思 我不是很懂php,我百度了几个测试语句,打印了返回错误 PHP Warning: Use of undefined constant reload - assumed 'reload' (this will throw an Error in a future version of PHP) in Psy Shell code on line 1

artisan migrate PHP Parse error: Syntax error, unexpected T_STRING on line 1 factory(App\User::class, 10)->create(); PHP Error: Class 'App/User' not found in /var/www/vendor/laravel/framework/src/Illuminate/Database/Eloquent/FactoryBuilder.php on line 228

factory('App\User',10)->create() PHP Error: Class 'App/User' not found in /var/www/vendor/laravel/framework/src/Illuminate/Database/Eloquent/FactoryBuilder.php on line 228 App\User::all(); PHP Fatal error: Class 'App/User' not found in Psy Shell code on line 1

seth-shi commented 1 year ago

如果不会 PHP 我不建议搭建这个, 这个只适合学习使用

huzige433 commented 1 year ago

谢谢