在 opcache.ini 中添加行 opcache.preload=/app/tools/preload.php 在 docker 中不起作用

Add line opcache.preload=/app/tools/preload.php in opcache.ini not working in docker

我正在尝试连接在 php7.4 中添加的预加载,但我遇到了这个问题:

Step 11/11 : RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/bin --filename=composer --quiet     && rm -rf /root/.composer/cache
 ---> Running in 0ce2e24e155c
PHP Warning:  PHP Startup: Failed to open stream: No such file or directory in Unknown on line 0
PHP Fatal error:  Failed opening required '/app/tools/preload.php' (include_path='.:/usr/local/lib/php') in Unknown on line 0

Warning: PHP Startup: Failed to open stream: No such file or directory in Unknown on line 0

Fatal error: Failed opening required '/app/tools/preload.php' (include_path='.:/usr/local/lib/php') in Unknown on line 0
curl: (23) Failed writing body (0 != 16366)
ERROR: Service 'project-php-cli' failed to build: The command '/bin/sh -c curl -sS https://getcomposer.org/installer | php -- --install-dir=/bin --filename=composer --quiet     && rm -rf /root/.composer/cache' returned a non-zero code: 1

出于某种原因,脚本在我指定的路径中看不到文件。

opcache.preload=/app/tools/preload.php
opcache.preload_user=www-data

可能是我没明白我的文件夹还没有出现在图片中,所以脚本文件不可见 如果是这样,那么我如何将我的文件添加到预加载

我通过不直接将 opcache.preload 的东西写入 php.ini 来解决问题,而是在容器安装后使用 Dockerfile 中的命令修补 php.ini php 和其他正确的扩展名:

RUN echo "opcache.preload=/var/www/preload.php" >> /usr/local/etc/php/conf.d/docker-php-ext-opcache.ini