我需要使用一些PrestaShop特性运行一个CLI (命令行接口)脚本。更具体地说,我需要运行一些管理控制器。
为了做到这一点,我需要PrestaShop配置文件,但是它无法加载配置,因为在脚本执行期间,SuperAdministrator显然没有登录。
我的问题是:
主要问题是:
/var/{apachevirtualhostpath}/public/www/classes/controller/AdminController.php中的致命错误:在第1805行中调用非对象上的成员函数isLoggedBack()
我正在运行PS 1.5.4.1。
我还有其他问题,主要是因为域(不适用于cli),但我已经解决了。
谢谢。
发布于 2015-05-29 03:22:17
示例:
//define('PSDIR', '/var/www/prestashop');
function regen_htaccess() {
chdir(PSDIR);
include('config/config.inc.php');
Tools::generateHtaccess(null, 1);
}
function regen_robots() {
chdir(PSDIR);
define('_PS_ADMIN_DIR_', 1);
include('config/config.inc.php');
$a = new AdminMetaControllerCore();
$a->generateRobotsFile();
}
function clear_cache() {
chdir(PSDIR);
define('_PS_ADMIN_DIR_', 1);
$_POST['empty_smarty_cache'] = 1;
include("config/config.inc.php");
$x = new AdminPerformanceControllerCore();
$x->postProcess();
}这里的关键是在需要实例化管理/类时设置_PS_ADMIN_DIR_以避免isLoggedBack失败。但在编写预prestashop cli.sh之前,您可以先看看webservices。
发布于 2013-06-28 15:16:17
这个正式文档页面是最近的,您可能还没有看到它:
http://doc.prestashop.com/display/PS15/Installing+PrestaShop+using+the+command+line
干杯!
发布于 2013-12-22 08:11:00
使用来自/index.php和/install/index_cli.php的最新版本的提示来创建一个脚本来加载PrestaShop框架,然后直接运行所需的命令。
例如,从PrestaShop 1.5.6.1开始,如果您想要删除演示产品和订单并从命令行初始化存储,可以使用以下内容:
警告:此脚本将删除您的数据!如果不了解它的功能,就不要复制和粘贴。
#!/usr/bin/php
<?php
# Initialize PrestaShop framework. Replace _PS_ROOT_DIR_ with proper path.
require_once(_PS_ROOT_DIR_.'config/config.inc.php');
# Include any dependencies that are not already loaded.
require_once(_PS_MODULE_DIR_.'pscleaner/pscleaner.php');
# Execute PrestaShop command(s).
PSCleaner::truncate('catalog');
PSCleaner::truncate('sales');https://stackoverflow.com/questions/17280394
复制相似问题