nginx在80端口接受到访问请求后,会把请求转发给9000端口的php-cgi进行处理
而如果修改php.ini中open_basedir= ../../../../../ ,针对两个不同的网站,www.a.com , www.b.com都会把请求发送给9000处理,而如果先访问www.a.com那么../../../../../就会变成A网站的根目录地址,然后这时候如果你访问www.b.com,那么open_basedir仍然是A网站的根目录,但是对于B来说,又是不允许访问的,所以就造成了,第二个站点打开以后会出现no input files
,明天又得搞,
学习了。

学习了。
收藏下载eaccelerator 0.9.6后先不要安装,解包后找到eaccelerator.c这个文件,打开第1156行,这样的:
if (PG(open_basedir) && php_check_open_basedir(realname TSRMLS_CC)) {
修改成:
if (PG(open_basedir) && php_check_open_basedir(file_handle->filename TSRMLS_CC)) {
原帖由 eip 于 2010-7-1 22:31 发表
按楼主方法,结果出现错误:
PHP Warning: Unknown: open_basedir restriction in effect. File() is not within the allowed path(s): (/www/:/tmp/) in Unknown on line 0
原来是eaccelerator-0.9.6.tar.bz2的bug:
ht ...
原帖由 needvps 于 2010-7-6 11:09 发表
请问
open_basedir 这里能不能写成这样的
open_basedir = "/web/user/xxx.com/:/var/tmp/:/tmp/"
就是增加web目录,行不行?
| 欢迎光临 全球主机交流论坛 (https://fd.vvwvv.eu.org/) | Powered by Discuz! X3.4 |