Kik*_*lce 12 php cron laravel laravel-5 taskscheduler
我使用Laravel任务调度,但是当我从控制器调用某个方法时遇到问题.
protected function schedule(Schedule $schedule)
{
$schedule->call('UserController@deleteInactiveUsers')->everyMinute();
//$schedule->call('App\Http\Controllers\UserController@deleteInactiveUsers')->everyMinute();
}
Run Code Online (Sandbox Code Playgroud)
当我使用未注释的行调用时,我收到此错误:
[ReflectionException]
Class RecurrenceInvoiceController does not exist
Run Code Online (Sandbox Code Playgroud)
然后我插入完全限定的命名空间路径,然后我收到此错误:
[PDOException] SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known
Run Code Online (Sandbox Code Playgroud)
和
[ErrorException] PDO::__construct(): php_network_getaddresses: getaddrinfo failed: Name or service not known
Run Code Online (Sandbox Code Playgroud)
问题出在哪儿?从Laravel任务调度中调用Controller的方法是正确的.
Jen*_*ses 21
我几个月前偶然发现同样的问题,直到我能解决它.我使用laravel 5.2,内核以这种方式调用我的驱动程序:
$schedule->call('App\Http\Controllers\MyController@MyAction')->everyMinute();
Run Code Online (Sandbox Code Playgroud)
我希望这能帮助别人;)
对我来说,第一个错误看起来像你需要运行composer update,然后composer dump-autoload。
如果它有效,您还会收到第二个错误,2002 错误含义是:
无法通过套接字连接到本地 MySQL 服务器”(请参阅(MySQL 文档中的客户端错误代码和消息)。
您需要在.env文件中设置数据库配置
| 归档时间: |
|
| 查看次数: |
11441 次 |
| 最近记录: |