欢迎光临 Rick 's BLOG
日志首页  | C# .Net编程  | 原创作品  | 生活点滴  | C\C++相关  | 多媒体相关※ERMP  | VB相关  | 其它运维与编程  |  留言簿
php使用file_get_contents时自定义请求头,获取响应头信息
未知  本地的 nginx 配置使用 docker 中的 php-fpm
[ 发布日期:1天前 ]   [ 来自:本站原创 ] [分类:其它运维与编程]
php-fpm运行在docker容器中。网站和nginx在本机中。
这样子是为了便于切换和安装不同版本的php环境。

那么这种情况配置上需要怎么操作呢?

主要需要注意一点:nginx和php都需要访问文件系统中的php文件。但是本机文件系统和docker容器文件系统可能会有差异。

解决方案1:


通过将本地文件夹挂载到容器中,并保持文件路径完全一致。
这种情况 nginx 中只需要正常配置即可。
如本地网站根路径:/var/www/site1
在docker挂载时使用: -v /var/www/site1:/var/www/site1


解决方案2:


因为特殊原因就是无法保持文件路径完全一致。
这个时候 nginx 中就需要修改给 php-fpm 传递的参数 SCRIPT_FILENAME
如本地网站根路径:/var/www/site1
在docker挂载时使用: -v /var/www/site1:/web/mysite


nginx中php-fpm的默认设置如下:
# pass the PHP scripts to FastCGI server
#
# See conf.d/php-fpm.conf for socket configuration
#
index index.php index.html index.htm;

location ~ \.(php|phar)(/.*)?$ {
    fastcgi_split_path_info ^(.+\.(?:php|phar))(/.*)$;

    fastcgi_intercept_errors on;
    fastcgi_index  index.php;
    include        fastcgi_params;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    fastcgi_param  PATH_INFO $fastcgi_path_info;
    fastcgi_pass   php-fpm;
}


这里需要修改参数SCRIPT_FILENAME:
fastcgi_param  SCRIPT_FILENAME  /web/mysite$fastcgi_script_name;


这个方式有些麻烦,每个网站都需要单独进行配置。
如果网站多的话还是第一种方式简单一些。
引用通告地址 (0):
复制引用地址https://www.rickw.cn/trackback/341
复制引用地址https://www.rickw.cn/trackback/341/GBK
[ 分类:其它运维与编程  | 查看:15 ]

暂时没有评论,快来发表一个评论吧。
发表评论
作者:   用户:[访客] 
评论:

表  情
禁止表情 | 禁止UBB | 禁止图片 | 识别链接
对不起,你没有权限上传附件!
验证:
 
PoweredBy R-Blog V1.00 © 2004-2024 WWW.RICKW.CN, Processed in second(s) , 7 queries    京ICP备17058477号-5