Home  >  Article  >  Backend Development  >  PHPExcel中open_basedir restriction in effect的解决办法

PHPExcel中open_basedir restriction in effect的解决办法

WBOY
WBOYOriginal
2016-06-13 12:29:051181browse

PHPExcel中open_basedir restriction in effect的解决方法

用PHPExcel做导出execl的时候发现在本地没有问题,但是把网站传到租用的服务器的时候就报错,具体如下:

Warning: realpath() [function.realpath]: open_basedir restriction <span style="color: #0000ff;">in</span> effect. File(/tmp) <span style="color: #0000ff;">is</span> not within the allowed path(s): (/data/home:/usr/home:/data/home/tmp:/usr/home/tmp:/<span style="color: #0000ff;">var</span>/www/disablesite) <span style="color: #0000ff;">in</span> /data/home/【服务器名称】/htdocs/【项目地址】/Classes/PHPExcel/Shared/File.php on line <span style="color: #800080;">136</span><span style="color: #000000;">        找到对应的File.php的136行,只是sys_get_temp_dir方法的最后一行,查阅网上的方法直接把该方法给替换掉就好了。  </span>

代码如下: 

<span style="color: #0000ff;">public static function sys_get_temp_dir()<br>{<br>if</span> (ini_get(<span style="color: #800000;">'</span><span style="color: #800000;">upload_tmp_dir</span><span style="color: #800000;">'</span>)!==<span style="color: #0000ff;">false</span><span style="color: #000000;">)           {              </span><span style="color: #0000ff;">if</span>($temp = ini_get(<span style="color: #800000;">'</span><span style="color: #800000;">upload_tmp_dir</span><span style="color: #800000;">'</span><span style="color: #000000;">))                 {                     </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (file_exists($temp))                      {                        </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> realpath($temp);                      }              }           }           </span><span style="color: #0000ff;">if</span> ( !function_exists(<span style="color: #800000;">'</span><span style="color: #800000;">sys_get_temp_dir</span><span style="color: #800000;">'</span><span style="color: #000000;">))          {               </span><span style="color: #0000ff;">if</span> ($temp = getenv(<span style="color: #800000;">'</span><span style="color: #800000;">TMP</span><span style="color: #800000;">'</span><span style="color: #000000;">))                  {                  </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (file_exists($temp))                   {                        </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> realpath($temp);                  }                  </span><span style="color: #0000ff;">if</span> (($temp!=<span style="color: #800000;">''</span>) &&<span style="color: #000000;"> file_exists($temp))                  {                      </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> realpath($temp);                   }               }               </span><span style="color: #0000ff;">if</span> ($temp = getenv(<span style="color: #800000;">'</span><span style="color: #800000;">TEMP</span><span style="color: #800000;">'</span><span style="color: #000000;">))                 {                  </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (file_exists($temp))                   {                  </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> realpath($temp);                  }                }        }   <br>}</span>

 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn