<?php
require_once 'abstract.php';
class Mage_Shell_Snapshot extends Mage_Shell_Abstract
{
public function _snapshot()
{
if(!Mage::isInstalled())
{
echo "Application is not installed yet, please complete install wizard first.";
exit;
}
# Initialize configuration values
$connection = Mage::getConfig()->getNode('global/resources/default_setup /connection');
$rootpath = $this->_getRootPath();
$snapshot = $rootpath.'testing';
# Create the snapshot directory if not exists
$io = new Varien_Io_File();
$io->mkdir($snapshot);
include('/home/test/public_html/xmlapi.php');
$cp_user="test";
$cp_pass="test123";
$db_host="localhost";
$db_name="test_insatller";
$db_user="test_test";
$db_pass="home123";
$url="http://201.40.548.550/testing/";
$ad_user="admin";
$ad_pass="sk12121";
$ad_email="indies.tester@gmail.com";
$xmlapi = new xmlapi($db_host);
$xmlapi->set_port(2083);
$xmlapi->password_auth($cp_user,$cp_pass);
$xmlapi->set_debug(1);
//create database
$xmlapi->api1_query($cp_user,"Mysql", "adddb", array($db_name));
//create user
$xmlapi->api1_query($cp_user,"Mysql", "adduser", array($db_user,$db_pass));
//add user to database
$xmlapi->api1_query($cp_user,"Mysql", "adduserdb", array($db_name,$db_user,'all'));
$command = '/home/indieste/public_html/function.sh '.$db_host.' '.$db_name.' '.$db_user.' '.$db_pass.' '.$url.' '.$ad_user.' '.$ad_pass.' '.$ad_email;
echo $command;
system($command);
Mage::log($command);
}
public function run()
{
if ($this->getArg('testing'))
{
$this->_snapshot();
}
else
{
echo $this->usageHelp();
}
}
public function usageHelp()
{
global $argv;
$self = basename($argv[0]);
USAGE;
}
}
$shell = new Mage_Shell_Snapshot();
$shell->run();
当我使用putty从文件夹snapshot.php
运行此magento->shell->snapshot.php
时,它不会创建数据库和用户。
我正在使用xmlapi.php
在cpanel中创建数据库和用户,并运行此运行function.sh
文件以在cpanel的根目录中安装magento。它也没有给我任何类型的错误。那么,这段代码是否足以从magento运行bash shell脚本(function.sh
)?
function.sh
文件包含与从服务器下载magento相关的命令,将其解压缩,并使用hostname,hostpassword,dbname,dbuser,dbpassword,admin user,admin password安装在cpanel的根目录中。
如果有任何人有相关链接从magento运行shell脚本,那么请给我并告诉我如何从magento运行shell脚本?。
答案 0 :(得分:2)
参考文章:
http://www.magentocommerce.com/wiki/how_to_-_import_manufacturers_or_any_other_option_attribute_set
使用shell脚本导入制造商。
希望这有帮助。
答案 1 :(得分:2)
Shell脚本可以通过两种方式从任何php应用程序运行。
使用 exec()功能运行脚本。
使用backticks (``)
并指定要在刻度线中运行的命令。
例如:
$ variable =``ls;在反叛内部。
将ls的输出提供给变量。
请确保您是否将此用于应用程序,因为从安全角度来看,这是一个严重的问题。