通过docker安装php-fpm指定版本后,进入容器修改php-fpm的用户组www-data为我自己的erik(因为主机也是,方便调试)。
安装后本地配置nginx后总是报错
6239#6239: *1 FastCGI sent in stderr: “Primary script unknown” while reading response header from upstream
反复查找没有问题。
最后发现docker内的php-fpm指定项目目录/var/www,而我本地的是/home/work 。这时候本地的nginx映射docker的php通信会解析指定地址,两者地址不一样。php-fpm无法识别地址,除非安装的时候指定的地址和本地一样。
这一部解决了,然后的单独访问php文件没问题,但是访问项目框架却无法解析。
报错12909#12909: *3 FastCGI sent in stderr: “Primary script unknown” while reading response header from upstream
通过跟踪nginx,然后上docker查看项目目录,发现本地软连接项目到和docker共享的项目目录,在docker中是不能识别本地的软连接的。只能把项目cp过来才行。
到这里,项目可正常访问了。
其实,本次配置浪费了好多时间,还是有点慌,以前的思路乱了。
一般来说php问价no found基本都是无法访问目录涉及权限、项目是否存在。
其次,cgi无法解析涉及php-fpm跟nginx的权限组和项目目录是否一致。
本文链接: https://erik.xyz/2019/09/25/docker-install-php-is-fail/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!