2020-05-08 21:15:36
解决nginx跨站浏览有两种方法:
1、为每一个网站定义一个pool,然后使用chroot指令,但这种方法的缺点是,当你需要建立很多虚拟主机时,消耗的内存是非常大的。
2、修改php源代码。这种通过修改php源代码的方法可以很好的解决这个问题而不必像第一种额外的内存消耗。
下面开始介绍第二种方法。
下载php源码,执行./configure命令,然后开始修改main/fopen_wrappers.c文件
/* {{{ php_check_open_basedir */ PHPAPI int php_check_open_basedir_ex(const char *path, int warn TSRMLS_DC) { /* Only check when open_basedir is available */ if (PG(open_basedir) && *PG(open_basedir)) { char *pathbuf; char *ptr; char *end; // add by anxsoft.com char *env_doc_root; if(PG(doc_root)){ env_doc_root = estrdup(PG(doc_root)); }else{ env_doc_root = sapi_getenv("DOCUMENT_ROOT", sizeof("DOCUMENT_ROOT")-1 TSRMLS_CC); } if(env_doc_root){ int res_root = php_check_specific_open_basedir(env_doc_root, path TSRMLS_CC); efree(env_doc_root); if (res_root == 0) { return 0; } if (res_root == -2) { errno = EPERM; return -1; } } // add by anxsoft.com pathbuf = estrdup(PG(open_basedir)); ptr = pathbuf; while (ptr && *ptr) { end = strchr(ptr, DEFAULT_DIR_SEPARATOR); if (end != NULL) { *end = ' '; end++; } if (php_check_specific_open_basedir(ptr, path TSRMLS_CC) == 0) { efree(pathbuf); return 0; } ptr = end; } if (warn) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "open_basedir restriction in effect. File(%s) is not within the allowed path(s): (%s)", path, PG(open_basedir)); } efree(pathbuf); errno = EPERM; /* we deny permission to open it */ return -1; } /* Nothing to check... */ return 0; } /* }}} */
两个 add by anxsoft.com 中间的是修改加上去的,然后保存,退出。之后make 和make install 即可。
然后修改php.ini文件:
open_basedir = "/tmp/:/var/tmp/"
经测试php5.2和php5.3同样适用。
参考:http://www.hostloc.com/thread-6546-1-1.html
nginx编译安装动态模块(不需重新编译nginx)
06-25
centos7安装配置gitlab(使用外部nginx)
06-11
docker部署zabbix监控系统(nginx mysql)
06-28
saltstack快速批量安装nginx
07-16
使用nginx limit_req限制用户请求速率
06-06
使用nginx ngx_http_referer_module模块配置防盗链
06-28
使用fpm工具制作nginx的rpm包
06-26
未来先锋、同禧键盘集成的手写板,在IE浏览器中使用手写板无法正常聊天如何解决?
02-20
浏览器安装插件,提示数字签名或证书无效,文件被阻止
03-26
解决Win8应用商店出现0x80073cf9错误
06-29
Android Studio 查看源码出现throw new RuntimeException("Stub!"); 解决办法
07-03
B450系列机器QQ语音听不到对方声音解决方案
06-30
IE浏览器无法添加进信任站点和受限站点
02-18
Internet_Explorer(IE浏览器) IE7.0如何放大或缩小网页
06-22
Lenovo G485无线网络连接不上的解决方案
06-23
Pale Moon 28.8.2.1 发布,苍月浏览器
06-11
Safari浏览器
02-22
ThinkPad -- 键盘问题的一般解决方法
07-07
Think产品无法进行无线上网的检测方法和解决方法
07-18
Tor Browser 9.0.5 发布,隐私浏览器
05-21
2345加速浏览器下载
58.1M
下载2345王牌浏览器(多功能浏览器工具) v9.9.0.19250 最新版
65.5M
下载acd看图软件(电脑图片浏览器)v1.2.3 免费版
1.76 MB
下载ie9浏览器(卸载软件)2021 免费版
735.4K
下载internet explorer 9(IE浏览器)v9.0 最新版
34.93MB
下载msvcr80.dll丢失怎么办 64位/32位 附丢失解决方法
234 KB
下载safari浏览器官方下载
35.8M
下载后台挂尔雅浏览器(自动刷课浏览器) 2021 免费版
88.7MB
下载天天浏览器(上网浏览工具) v3.6.1 最新版
1.3M
下载小白浏览器(极速双核浏览工具)10.3.3804.1667 破解版
112.63 MB
下载淘宝浏览器下载
5.5M
下载谷歌访问助手(浏览器扩展插件) 2021 破解版
107.23MB
下载闪电浏览器(安全网页浏览工具)v22.0.1229.3 正式版
2.3M
下载IETester下载
39MB
下载internet explorer 8下载
16.1M
下载谷歌卫星地图下载器下载
27.2MB
下载