我使用 Manjaro Xfce 设置了我的新笔记本电脑并很喜欢它,但我无法让我的主要开发项目在新主机上运行。
该项目有 10 多名开发人员使用,其中 9 人使用 Ubuntu,1 人使用 Macbook。他们没有遇到任何问题,但当我运行它时,一切正常,直到最后一刻,supervisord 运行 php-fpm 时,我看到了这个错误。
ERROR: Unable to globalize '/etc/php/7.3/fpm/pool.d/*.conf' (ret=2) from /etc/php/7.3/fpm/php-fpm.conf at line 143.
ERROR: failed to load configuration file '/etc/php/7.3/fpm/php-fpm.conf'
ERROR: FPM initialization failed
这不是文件夹问题,我检查了又检查。与其他安装的配置和构建完全相同。我检查了 docker 版本,它们都很好。
我试图规避这个问题并复制自定义的 php-fpm.conf 并注释掉文件中包含“/etc/php/7.3/fpm/pool.d/*.conf”的最后一行
这给了我一个新的错误。
WARNING: [pool www] child 331 said into stderr: "NOTICE: PHP message: PHP Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0"
WARNING: [pool www] child 331 said into stderr: "ERROR: Unable to open primary script: /app/html/home.php (Permission denied)"
我已经仔细检查了运行 Elementry OS 5.1(Ubuntu 18.04)的旧设置上的权限,它们是相同的并且看起来像这样。
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 8256 2324 ? Ss 10:55 0:00 make serve-dev_local
root 301 0.1 0.1 59592 20604 ? S 10:55 0:00 /usr/bin/python /usr/bin/supervisord -n --configuration /app/dock
root 304 0.2 0.3 165256 54776 ? S 10:55 0:00 php-fpm: master process (/etc/php/7.3/fpm/php-fpm.conf)
root 305 0.0 0.0 29664 2896 ? S 10:55 0:00 /usr/sbin/cron -f
root 306 0.0 0.0 34512 5912 ? S 10:55 0:00 nginx: master process /usr/sbin/nginx
www-data 307 0.4 0.6 537048 104572 ? S 10:55 0:00 php /app/artisan queue:work long --queue=long --sleep=5 --tries=1
www-data 308 0.4 0.6 462524 101792 ? S 10:55 0:00 php /app/artisan queue:work long --queue=long --sleep=5 --tries=1
root 309 0.0 0.0 680736 13500 ? Sl 10:55 0:00 /usr/bin/newrelic-daemon -f
root 310 0.0 0.0 254324 2964 ? Sl 10:55 0:00 /usr/sbin/rsyslogd -n
www-data 311 0.0 0.0 34884 3400 ? S 10:55 0:00 nginx: worker process
www-data 312 0.0 0.0 34884 2532 ? S 10:55 0:00 nginx: worker process
www-data 313 0.0 0.0 34884 2532 ? S 10:55 0:00 nginx: worker process
www-data 314 0.0 0.0 34884 2532 ? S 10:55 0:00 nginx: worker process
www-data 331 0.0 0.2 165256 46296 ? S 10:55 0:00 php-fpm: pool www
www-data 332 0.0 0.2 165256 45572 ? S 10:55 0:00 php-fpm: pool www
www-data 333 0.0 0.2 165256 45572 ? S 10:55 0:00 php-fpm: pool www
www-data 334 0.0 0.2 165256 45572 ? S 10:55 0:00 php-fpm: pool www
root 424 0.0 0.0 19868 3564 pts/0 Ss 10:57 0:00 bash
root 430 0.0 0.0 38304 3300 pts/0 R+ 10:57 0:00 ps aux
我不知道还要检查什么。我已经构建了一个简单的 PHP docker 容器,它运行良好,并且使用 Lando.dev 安装 Laravel,它也能正常工作。
如果您能给我指明正确的方向我将不胜感激。
答案1
我们在 php-fpm 上遇到了完全相同的问题,在 ubuntu 上工作,而不是在 manjaro 上,然后找到了解决方案。我们的docker-compose.yml
文件设置为使用 运行privileged: true
,这恰恰导致了 php-fpm 中的这个问题。如果遇到该错误,请确保您运行的容器不是在特权模式下,因为主机系统之间可能存在差异。