【Ecstore2.0】导出问题解决(未导出或导出文件为0字节)

如果导出队列能成功执行(队列不执行看这里)但是并未生成文件,那么原因大部份可能是出在FTP上。

ECSTORE2.0采用了PHP的FTP模块,所以先确认你的环境是否安装了FTP模块,如果没有,安装并在PHP.INI中配置好模组路径。

功能文件:\app\importexport\lib\policy\ftp.php ,程序中使用 ftp_nb_put() 异步上传,这里告诉大家一个调试方法:在适当的位置加入 logger::info('debug info');  

然后查看 /data/logs/queue/日期.php 的日志输出,可以直接ssh用 tail -f  /data/logs/queue/日期.php 

 

【原理】利用PHP的 tempnam() 函数上传临时文件至 服务器的 /tmp目录,再用 ftp_nb_put() 将文件上传至FTP服务器。

【原因】有的FTP服务器需要使用被动模式PASV连接。

【解决方法】

  修改 \app\importexport\lib\policy\ftp.php 文件

    public function __construct(){
        $this->ftp_server = app::get('importexport')->getConf('ftp_server_setting');
        if(!$this->conn){
            $this->ftp_server['port'] = $this->ftp_server['port'] ? $this->ftp_server['port'] : 21;
            $this->conn = ftp_connect($this->ftp_server['host'],$this->ftp_server['port']);
            $this->bb=ftp_login($this->conn,$this->ftp_server['name'],$this->ftp_server['pass']);

        }
		if($this->ftp_server['pasv']=='true'){
			ftp_pasv($this->conn,$this->ftp_server['pasv']); //vmax 开启被动模式
		}

        $this->cd($this->ftp_server['dir']);
    }

  修改 \app\importexport\view\admin\ftp.html

        <p style="margin:20px 0"><{t}>被动模式(PASV):<{/t}>
          <input type="radio" name="pasv" value="true" <{if $ftp_server.pasv=='true'}>checked <{/if}>>开启
          <input type="radio" name="pasv" value="false" <{if $ftp_server.pasv=='false'}>checked <{/if}>>关闭
		</p>

  懒一点的话,就只在FTP.PHP文件中加入 ftp_pasv($this->conn,true); 吧!

  最后附上我的FTP模块安装记录,供新手参考:

  841  cd lanmp/lanmp/php-5.3.27/ext/ftp
  846  phpize
  847  ./configure -with-php-config=/www/wdlinux/php/bin/php-config
  848  make
  849  make install
  850  ll /www/wdlinux/apache_php-5.3.27/lib/php/extensions/no-debug-non-zts-20090626/
  851  vim /www/wdlinux/etc/php.ini
  852  service httpd restart

 

关于导入导出的问题解决:http://www.cnblogs.com/vmax/p/3699462.html

 

 

时间: 2024-08-01 19:16:19

【Ecstore2.0】导出问题解决(未导出或导出文件为0字节)的相关文章

[20170315]11.2.0.4 exp可以导出空表.txt

[20170315]11.2.0.4 exp可以导出空表.txt --链接http://www.itpub.net/thread-2084282-1-1.html,11.2.0.4可以使用exp导出空表,没有问题,测试看看.   SCOTT@book> @ &r/ver BANNER -------------------------------------------------------------------------------- Oracle Database 11g Ente

Ireport 报表导出 Poi + ireport 导出pdf, word ,excel ,htm

  Ireport 报表导出 Poi + ireport 导出pdf, doc ,excel ,html 格式 下面是报表导出工具类reportExportUtils 需要导出以上格式的报表 只需要调用本工具类的exportmain 方法即可. import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import j

poi3 8大数据导出-poi3.8大数据量Excel导出连续查询导出不同的报表后导出速度非常慢

问题描述 poi3.8大数据量Excel导出连续查询导出不同的报表后导出速度非常慢 poi3.8用((SXSSFSheet)sheet).flushRows()方法解决了大数据量的excel导出,但是我在使用过程中,由于每个单元格都要设置不同的颜色和数据格式,发现导出第一张报表时速度还勉强可以接受,但是继续导出另一张报表,速度就慢的跟蜗牛似的,要10分钟甚至3个小时,请问有什么方法可以解决? 代码如下: private static void fillExcel(KDTable kdtRepor

Java数据导出功能之导出Excel文件实例_java

在编程中经常需要使用到表格(报表)的处理主要以Excel表格为主.下面给出用java写入数据到excel表格方法: 1.添加jar文件 java导入导出Excel文件要引入jxl.jar包,最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件.下载地址:http://www.andykhan.com/jexcelapi/ 2.jxl对Excel表格的认识 可以参见:http://www.jb51.net/article/686

delhpi-delphi导出word,导出的word中设置页码,若首页不显示页码,首页的页头会出现一条横线

问题描述 delphi导出word,导出的word中设置页码,若首页不显示页码,首页的页头会出现一条横线 这是具体的代码: Fdoc.Sections.Item(1).Footers.Item(1).PageNumbers.Add(wdAlignRowCenter,true); Fdoc.Sections.Item(1).Footers.Item(1).PageNumbers.ShowFirstPageNumber:=false; //以上两行代码是给所有页页脚处设上页码,再将首页页码不显示的

FreeRADIUS爆出TLS恢复认证绕过漏洞CVE-2017-9148 2.2x、3.0.x、3.1.x及4.0.x多个版本受影响

一位来自卢森堡学术网络RESTENA的安全研究员发现了FreeRADIUS中存在TLS恢复认证绕过漏洞.纵观漏洞时间轴可发现,来自布拉格经济学院的研究员Luboš Pavlíček已在2017年4月24日独立报告过该漏洞. FreeRADIUS是什么 FreeRADIUS是全球最受欢迎的Radius服务器."它是多项商务服务的基础,为很多世界500强公司和一级网络服务提供商提供AAA服务需求,还被广泛用于企业Wi-Fi和IEEE 802.1X网络安全,尤其是学术社区,包括eduroam.&quo

Apache v2.0.58+PHP v4.4.1+MySQL v5.0.22+Zend v2.6.0环境安装指南

以下安装指南是基于http://www.aliyun.com/zixun/aggregation/14417.html">Apache v2.0.58+PHP v4.4.1+MySQL v5.0.22+Zend v2.6.0的版本,如果你需要新的版本,请至官方网站下载最新的软件包. 风信网(http://www.ithov.com)友情提示:安装环境如果不确定的朋友,用rpm查一下如果原来编译安装的,删了即可,放那也没事 rpm qa | grep apacherpm qa | grep

visual studio-lucene.net3.0.3开发环境配置 Visual Studio 10.0

问题描述 lucene.net3.0.3开发环境配置 Visual Studio 10.0 怎么配置lucene.net3.0.3的开发环境,使其在Visual Studio 10.0上可以运行.我现在只有lucene.net3.0.3的代码,不知道该怎么用. 解决方案 你的代码里面有没有包含相应的包或者dll文件?如果没有,使用Install-Package Lucene.Net下载Lucene.Net 3.0.3包.

.net framework 4.0 引用web服务 与 .net frameword 2.0 引用web服务区别 主要问的是生成的代码区别

问题描述 例如引用以下连接:http://developer.ebay.com/webservices/resolution-case-management/latest/ResolutionCaseManagementService.wsdl两个版本库生成的代码中操作基本一样,但请求的那关键代码不同,列如:.net4.0ResolutionCaseManagementServicePortClient.net2.0ResolutionCaseManagementService都可以通过以上实例

vs2008装了wince5.0,但设备工具里没有wince5.0,怎么回事?

问题描述 vs2008装了wince5.0,但设备工具里没有wince5.0,怎么回事? 解决方案 解决方案二:如果你的设备管理器中如下:...+Smartphone2003windowsCE+WindowMobile5.0PocketPCSDK....那么就没错.就是这样子的.如果你是装的是某种wince5.0的模拟器,那么请把模拟器贴上来.以及具体的现象贴出来.解决方案三:应该有个wince5.0什么吧,再者,我调试报错说连不到解决方案四:调试用mobile模拟器就行了.C#的代码可以直接在