【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
文件

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

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

?





1

2

3

4

<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

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

时间: 2024-08-10 21:23:13

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

golang json处理struct未导出成员

我们用golang的json来marshal一个结构体的时候,结构体的未导出的成员将无法被json访问,也就是不会出现json编码的结果里(也就是小写的成员没法导出) 这个是由于技术的上问题引起的:golang的结构体里的成员的名字如果以小写字母开头,那么其他的包是无法访问的,也就是json无法访问我们的结构体里小写字母开头的成员 这个可以有两种方法解决 1. struct的成员用大写开头,然后加tag 2. 实现json.Marshaler接口 第一种方法比较常见这儿就不详细展开了 第二种方法

获取Linux内核未导出符号的几种方式

从Linux内核的2.6某个版本开始,内核引入了导出符号的机制.只有在内核中使用EXPORT_SYMBOL或EXPORT_SYMBOL_GPL导出的符号才能在内核模块中直接使用.然而,内核并没有导出所有的符号.例如,在3.8.0的内核中,do_page_fault就没有被导出. 而我的内核模块中需要使用do_page_fault,那么有那些方法呢?这些方法分别有什么优劣呢? 下面以do_page_fault为例,一一进行分析: 修改内核,添加EXPORT_SYMBOL(do_page_fault

Excel导入DataTable兼容2003-2012(请细心查看注释)以及 DataTable导出Excel(导出格式2003.xls)注释:需要引用NPOI

1.#region Excel导入DataTable兼容2003-2012(请细心查看注释)/// <summary> /// 读取Excel文件到DataSet中/// 注释1:2012导出如报错“ System.InvalidOperationException: 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序.”解决:下载2007 Office system 驱动程序:数据连接组件安装http://download.microsoft.com/downl

使用jxl 工具类 导出Excel 单行导出

一.jxl工具类 package com.zsplat.qrcode.commons.utils; import java.io.IOException; import java.io.OutputStream; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List;

使用Apache POI导出Excel小结--导出XLS格式文档

使用Apache POI导出Excel小结 关于使用Apache POI导出Excel我大概会分三篇文章去写 使用Apache POI导出Excel小结--导出XLS格式文档 使用Apache POI导出Excel小结--导出XLSX格式文档 使用Apache POI导出Excel--大数量导出 导出XLS格式文档 做企业应用项目难免会有数据导出到Excel的需求,最近在使用其,并对导出Excel封装成工具类开放出来供大家参考.关于Apache POI Excel基本的概念与操作我在这里就不啰嗦

Oracle11g在使用exp导出时不导出空表问题的解决办法

11G中有个新特性,当表无数据时,不分配segment,以节省空间 解决方法: 1.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. 2.设置deferred_segment_creation 参数 show parameter deferred_segment_creation NAME                                 TYPE        VALUE --------

C#导出EXCEL(DataTable导出EXCEL)

using System; using System.Collections.Generic; using System.Text; using System.Data; using System.IO; using System.Web; using Microsoft.Office.Interop.Excel; using System.Reflection; /*  * 开发人员:Hisen  * 时间:2008年11月24日  * 功能:将数据导出Excel  *  */ namespa

Magento导出订单同时导出产品信息

Magento导出订单同时导出产品信息,根据业务扩展,Magento自身的功能也越来越满足不了我们的需求了.今天Hicoogle根据需求改善批量导出订单的同时,也要带上该订单的产品信息.花了一点时间,在网上找一些资料,完成了这项功能.今天Hicoogle把它分享出来.以下是部分代码,由于代码较长,在代码尾部附上下载该代码文件. 该功能需要插件Webshopapps来支持,下载地址http://www.magentocommerce.com/magento-connect/webshopapps-

safari 收藏导出 手机safari 导出

safari 收藏导出 手机safari 导出 作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:[email protected] E-mail: 313134555 @qq.com 电脑安装itool连接iphone,转到信息这一栏,里面有一个safari书签,列出所有的网址.你导出来在电脑上就是一个网址的快捷链接方式了. ======== 电脑上导出 第一步,打开safari浏览器,一般情况下这个safari浏览器默认是没有显示菜单栏的,如何显示菜单栏呢,点击右边的箭头