CakePHP 4.x - bin/cake.php 在 运行 命令后被删除
CakePHP 4.x - bin/cake.php get deleted after running command
在蛋糕php 应用程序中,我需要定期从api 检索数据。我还需要管理员能够手动启动更新。
所以我创建了一个访问数据的模型;这样我就可以在控制器和 command/cronjob.
中使用它
在控制器中,没问题,运行没问题。
问题是当我 运行 bash 中的任务时:bin/cake.php 文件被删除,我无能为力(烘烤, 运行 任务等)。
这是我的代码(失败的简化版本):
// IN Table/ApisTable.php
namespace App\Model\Table;
use Cake\ORM\Table;
use Cake\ORM\TableRegistry;
use Cake\Http\Client;
class ApisTable extends Table{
public function getUrl(){
$http = new Client();
$response = $http->get('http://api.tvmaze.com/shows/1');
return $response->getStringBody();
}
}
// IN Entity/Api.php
namespace App\Model\Entity;
use Cake\ORM\Entity;
class Api extends Entity{
}
//IN Command/TestCommand.php
namespace App\Command;
use Cake\Command\Command;
use Cake\Console\Arguments;
use Cake\Console\ConsoleIo;
class TestCommand extends Command {
public function execute(Arguments $a, ConsoleIo $io){
$this->loadModel('Apis');
$data = $this->Apis->getUrl();
$io->out($data);
}
}
我运行bin/cake test
时文件被删除
有什么想法吗?
已解决:
在另一台电脑上尝试了一些东西后,我解决了它。如果有人需要的话,我会把主题放在这里。
是我的防病毒软件在到达另一个 url 时将文件置于隔离区。
在蛋糕php 应用程序中,我需要定期从api 检索数据。我还需要管理员能够手动启动更新。
所以我创建了一个访问数据的模型;这样我就可以在控制器和 command/cronjob.
中使用它在控制器中,没问题,运行没问题。
问题是当我 运行 bash 中的任务时:bin/cake.php 文件被删除,我无能为力(烘烤, 运行 任务等)。
这是我的代码(失败的简化版本):
// IN Table/ApisTable.php
namespace App\Model\Table;
use Cake\ORM\Table;
use Cake\ORM\TableRegistry;
use Cake\Http\Client;
class ApisTable extends Table{
public function getUrl(){
$http = new Client();
$response = $http->get('http://api.tvmaze.com/shows/1');
return $response->getStringBody();
}
}
// IN Entity/Api.php
namespace App\Model\Entity;
use Cake\ORM\Entity;
class Api extends Entity{
}
//IN Command/TestCommand.php
namespace App\Command;
use Cake\Command\Command;
use Cake\Console\Arguments;
use Cake\Console\ConsoleIo;
class TestCommand extends Command {
public function execute(Arguments $a, ConsoleIo $io){
$this->loadModel('Apis');
$data = $this->Apis->getUrl();
$io->out($data);
}
}
我运行bin/cake test
有什么想法吗?
已解决:
在另一台电脑上尝试了一些东西后,我解决了它。如果有人需要的话,我会把主题放在这里。
是我的防病毒软件在到达另一个 url 时将文件置于隔离区。