我正在尝试使用PHP 7.4以后的新preloading feature。
我运行了composer install --no-dev --optimize-autoloader以生成项目中所有可用类的列表,并使用以下preload.php脚本预加载了它们:$files = require 'vendor/composer/autoload_classmap.php';
foreach (array_unique($files) as $file) {
opcache_compile_file($file);
}
并在我的opcache.ini文件中配置了此预加载脚本:opcache.preload=/path/to/preload.php
并重新启动php-fpm。现在systemctl status php-fpm.service报告以下警告:PHP警告:无法预加载未链接的类Brick \ Money \ Context \ CashContext:第16行上的...中的未知类型依赖项PHP警告:无法预加载未链接的类Brick \ Money \ Context \ AutoContext:第17行上...中的未知类型依赖项PHP警告:无法预加载未链接的类Brick \ Math \ BigRational:第17行上的...中的未知类型依赖项PHP警告:无法预加载未链接的类Brick \ Math \ BigInteger:第20行上的...中的未知类型依赖项PHP警告:无法预加载未链接的类Brick \ Math \ BigDecimal:第15行上的...中的未知类型依赖项>
“未知类型依赖项”是什么意思?如何预加载这些类?
注意:我是有问题的库Brick\Math和Brick\Money的维护者,因此,如果需要对它们进行修改以使其可预加载,则我无所不能!
我正在尝试使用自PHP 7.4起提供的新预加载功能。我运行了composer install --no-dev --optimize-autoloader来生成项目中所有可用类的列表,然后...