在DDEV web容器中并行运行多个PHP(-fpm)版本



用于开发TYPO3 CMS扩展的开源DDEV配置(https://github.com/a-r-m-i-n/ddev-for-typo3-extensions)我想在不同的Apache VHosts中使用不同的PHP版本。

在CLI中,这很容易实现,因为每个PHP二进制版本都存在,但对于Apache,默认情况下总是只启用一个fpm配置(根据config.yaml中配置的PHP版本(。

我尝试过的:

  • 禁用php-fpm-8.0.conf
  • 更改pool.d/www.conf中的sock文件
  • 重新启动fpm并重新加载apache服务
  • 在我的Apache-site.conf中包含php-fpm-8.0.conf

容器内的所有内容(待测试(。但是Apache中提供的PHP版本仍然是7.4。

我错过了什么?我如何在Webbuild/Dockerfile中应用对Apache的更改(包括重新启动(?还是这个地方不对?

提前谢谢。

我建议您只使用串行或并行方法进行测试。

  1. 串行方法:
for v in 7.4 8.0. 8.1; do
ddev config --php-version=$v
ddev restart
# Run tests here

请注意,您还可以使用nginx-fpm和apache-fpm进行嵌套循环。

  1. 并行方法:为每个PHP版本(或者nginx/apache/PHP的每个排列(检查测试台(相同的代码(,并在每个版本中运行测试

如果你真的想重新构建web容器的内部,你实际上可以这样做,并运行多个php-fpm守护进程;你可以用.ddev/web-build/Dockerfile.multi-php完全更改配置。但这需要对apache配置有广泛的了解,而且是一个非常不寻常的设置,因此会影响你的测试,因为你的测试现在是在一个不寻常的情况下进行的,与上面的两个建议不同。

最新更新