到目前为止,我正在开发Apigility应用程序。它与http完美配合,可以用作Web前端应用程序的API。 现在,我正在尝试通过控制台路由实现计划的cron操作。但是无论我尝试了什么,我都无法正常工作...
首先,我只是将其添加到模块配置中:
'console' => [
'router' => [
'routes' => [
'test_route' => [
'options' => [
'route' => '/test',
'defaults' => [
'controller' => 'mymodule\V1\Console\Test\Controller',
'action' => 'test'
],
],
],
],
],
],
然后尝试致电:
php ./public/index.php /test
结果是“未提供基本路径”。所以我在模块配置中添加了它:
'view_manager' => [
'base_path' => __DIR__ . '/../',
]
现在,无论我如何尝试,我总是得到404“请求的URL无法通过路由进行匹配。”。我在Internet上发现了一些示例,这些示例运行诸如“ zf foo bar”之类的命令来以命令行方式运行zend应用程序,但在我的Windows 8.1系统上却没有该命令。我应该安装这个吗? 我正在使用作曲家,并且尝试安装各种软件包,例如zfcampus / zf-console或zendframework / zend-console,但没有任何明显的变化...
我是Apigility的新手,但也有Zend ...所以我的主要问题是我不知道我的问题是来自另一个还是另一个...
在其他地方,我收到的答案是我的路由是错误的,没有真正的intel来说明原因和错误的原因,我在这里添加了一些我尝试过的示例,其中一些摘自可用的文档。
我正在尝试另一个示例:
module.config.php
'console' =>[
'router' => [
'routes' => [
'console.foo' => [
'options' => [
'route' => 'delete user <userEmail>',
'defaults' => [
'controller' => 'Application\Controller\Index',
'action' => 'password'
],
],
],
],
],
],
然后我打电话:
php ./public/index.php delete user ti@ad.com
我仍然得到完全相同的“ URL不能被路由匹配”错误。...
现在我正在尝试在Linux服务器上部署该应用程序,我认为它可能与Windows计算机有关?
我也尝试过这些路线:
'console' =>[
'router' => [
'routes' => [
'console.foo' => [
'options' => [
'route' => 'delete user <userEmail>',
'defaults' => [
'controller' => 'Application\Controller\Index',
'action' => 'password'
],
],
],
'console.foo2' => [
'options' => [
'route' => 'test',
'defaults' => [
'controller' => 'Application\Controller\Index',
'action' => 'password'
],
],
],
'console.foo3' => [
'options' => [
'defaults' => [
'controller' => 'Application\Controller\Index',
'action' => 'password'
],
],
],
'console.foo4' => [
'route' => 'test',
],
'console.foo5' => [
],
'console.foo6' => [
'type' => 'catchall'
],
],
],
],
我当然尝试了带有参数的其他关联命令,而没有...
php ./public/index.php test
php ./public/index.php
php ./public/index.php delete user test@dom.aine
无论我做什么,我总是得到相同的“ URL不匹配任何路由”响应。...显然与我的机器无关,与我的linux服务器上的
仅强调一件事,我确实在控制台中显示了一个404(正在显示HTML代码响应)。也许不是检测到它在控制台中运行?