在PHP里面用PHPExcel生成excel文件时很方便,但是我在这里却碰到了问题。
    如果在a.php里面使用了include,如下
     
    include ($_SERVER['DOCUMENT_ROOT'].'/common/acl_phpexcel.php');
    include ($_SERVER['DOCUMENT_ROOT'].'/common/conn.php');
    require_once($_SERVER['DOCUMENT_ROOT'].'/resources/PHPExcel/PHPExcel.php');
    require_once($_SERVER['DOCUMENT_ROOT'].'/resources/PHPExcel/PHPExcel/Writer/Excel2007.php');     
    就打不开,把acl_phpexcel.php和conn.php的代码写在a.php才可以打开
    不知道是线上环境配置问题还是本身就有这个BUG。
    已经按照官网http://phpexcel.codeplex.com/wikipage?title=Requirements&referringTitle=Home修改(或不修改)php.ini配置,线上环境生成的excel都不能打开,说格式错误,但是自己虚拟机上的都正常(而且没有按照官网的环境要求配置)。
    初步怀疑是线上和线下环境的问题,但对比了配置文件发现,就只有几个地方不一样。环境有区别的地方:
排除了  nfs samba挂载的影响    
排除了 nginx 配置不同的影响
php 版本,编译参数一样,只是 php.ini  有部分配置不同线上
expose_php = Off                   
cgi.fix_pathinfo=0
extension = "gettext.so" (无改配置)
虚拟机
expose_php = On
cgi.fix_pathinfo=1
extension = "gettext.so"
实在是不能把数据库连接写在每一个单独的文件里面啊