我创建了一个新的 Laravel 8 项目,它带有 Laravel Sail,一个预配置的 Docker 环境。它运行良好,直到我需要使用 PHP 扩展。
Laravel Sail 文档似乎没有提到任何关于 PHP 扩展的内容,这是一个严重的问题。任何重要的 PHP 站点都必须使用多个 PHP 扩展。如果没有添加 PHP 扩展的能力,Laravel Sail(或任何其他 PHP 环境)或多或少是无用的。
里面有一个Dockerfile
和一个php.ini
。vendor/laravel/sail/runtimes/8.0/
我可以将这些文件从我自己的项目代码中复制出来vendor
并复制到我自己的项目代码中,然后将docker-compose.yml
它们指向我的这些文件的版本。但是,如果我这样做,我将失去 Laravel Sail 人员对这些文件所做的任何未来修复或改进。
我知道他们在 Laravel Sail 文档( https://laravel.com/docs/8.x/sail#sail-customizationsail artisan sail:publish
)末尾提到的命令。它似乎只是做了我上面提到的事情:将第三方代码复制到我的项目中,现在突然这个最终用户网站负责维护自己的 Laravel Sail 副本。
肯定有一种惯用的方法可以在 Laravel Sail 中添加 PHP 扩展,而无需在我的网站代码中重新实现 Laravel Sail 的分支?