Post Views: 176
1、查看 Nginx 的错误日志:PHP message: PHP Fatal error: require(): Failed opening required ‘/mcloud/www/cmcp-api/vendor/composer/../myclabs/deep-copy/src/DeepCopy/deep_copy.php’。如图1
图1
2、查看 Gitlab 上的文件,发现目录:/vendor/composer/../myclabs/deep-copy 为空目录。如图2
图2
3、删除 \vendor\myclabs\deep-copy\.git 目录。如图3
图3
4、选择相应的文件,添加。如图4
图4
5、提交。如图5
图5
6、全部 – 提交 – 推送。如图6
图6
7、查看 Gitlab 上的文件,发现目录:/vendor/composer/../myclabs/deep-copy 下已经存在相应的文件。如图7
图7
8、构建镜像时报错:Step 4/7 : COPY code /mcloud/www/cmcp-api。Error processing tar file(exit status 1): open /vendor/myclabs/deep-copy/fixtures/f005/Foo.php: no such file or directory。如图8
图8
9、查看 Gitlab 上的文件,发现文件:/vendor/myclabs/deep-copy/fixtures/f005/Foo.php 是存在的。如图9
图9
10、再次构建,构建成功。如图10
图10
11、后续还存在类似的问题。如下:
12、在目录 /vendor 中搜索:.git,发现存在数十个 .git。最终决定删除 /vendor,然后 composer install,重新安装,再删除每个目录中的 .git。重新提交推送。如图11
图11
PHP message: PHP Fatal error: require(): Failed opening required '/mcloud/www/cmcp-api/vendor/composer/../paragonie/random_compat/lib/random.php'
PHP message: PHP Fatal error: require(): Failed opening required '/mcloud/www/cmcp-api/vendor/composer/../guzzlehttp/promises/src/functions_include.php'
13、查看 Nginx 的错误日志,未再报错。符合预期。
14、参考我应该提交 vendor 目录中的依赖包吗?:https://docs.phpcomposer.com/faqs/should-i-commit-the-dependencies-in-my-vendor-directory.html 。我是采用的第 3 种方案。实际上感觉采用第 4 种方案,工作量会相对更小一些。如图12
图12
需要长期技术维护或远程问题排查?
我是拥有 15+ 年经验的 PHP / Go 后端工程师,长期关注已有系统维护、Bug 修复、性能优化、服务器排查、WordPress 网站维护和小功能迭代。
如果你的项目遇到以下情况,可以先从一次小问题排查开始合作:
- ✅ PHP / Laravel / Yii2 老项目无人维护
- ✅ Go / Gin 后端接口需要排查或优化
- ✅ WordPress 网站访问慢、报错或插件冲突
- ✅ Nginx / MySQL / Redis / Linux 服务器异常
- ✅ CDN / Cloudflare / DNS / HTTPS 配置问题
- ✅ 需要长期远程技术支持或兼职维护
更多介绍请查看:关于我 & 合作
微信:13980074657
邮箱:shuijingwanwq@gmail.com
Telegram:@shuijingwan
GitHub:https://github.com/shuijingwan
发表回复