У меня проблема с выяснением того, как заставить мою команду работать, потому что у меня есть доступ только через ftp.
Действие довольно простое:
public function actionRun($action = "default") {
$this->xml = simplexml_load_file('db.xml');
return $this->{$action}(); // executes the default() method
}
Все, что мне нужно, это как-то выполнить php index.php mycommand run
, но я заблудился как. Эту команду следует запускать только один раз в жизни всего приложения.
У меня вопрос, можно ли запустить такую команду? Может, как-нибудь вызвать его через php?
Командная строка Yii предназначена для запуска через Yii.
$ cd protected
$ ./yiic --help
$ ./yiic mycommand
Если у вас есть только доступ по ftp, вам может не повезти, и вам придется использовать какой-то обходной путь, например, запустить задание cron или создать веб-страницу, которая вызывает последнюю команду в приведенном мной примере кода.
echo exec('/my_yii_dir/protected/yiic mycommand');
Других решений пока нет …