Heim  >  Artikel  >  Backend-Entwicklung  >  PHPExcel中open_basedir restriction in effect的解决办法

PHPExcel中open_basedir restriction in effect的解决办法

WBOY
WBOYOriginal
2016-06-13 12:29:051179Durchsuche

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>

 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn