我正试图让所有Facebook的邀请朋友,昨天它正在工作,但今天facebook API已经返回
{
"error": {
"message": "(#100) No permission to access invitable_friends.",
"type": "OAuthException",
"code": 100,
"fbtrace_id": "ApJrz2NAGPx"
}
}
Run Code Online (Sandbox Code Playgroud) 我使用Laravel 5
同php 5.5.9-1ubuntu4.14
和mysql 5.5.47
.我有一个多租户环境,每个租户都有一个单独的数据库.因此,对于每一个HTTP请求,我将在适当的数据库连接BeforeMiddleware
,像这样
public function handle($request, Closure $next)
{
...
// Set the client DB name and fire it up as the new default DB connection
Config::set('database.connections.mysql_client.host', $db_host);
Config::set('database.connections.mysql_client.database', $db_database);
Config::set('database.connections.mysql_client.username', $db_username);
Config::set('database.connections.mysql_client.password', $db_password);
DB::setDefaultConnection('mysql_client');
...
}
Run Code Online (Sandbox Code Playgroud)
即使对于并发HTTP请求,这也能正常工作.
但现在我想将预定作业添加到我的应用程序中.这些作业将向属于所有租户的用户发送通知.所以,我再次需要连接到各自的租户数据库.但是这种连接不会通过HTTP请求.假设我在其中有一个CommunicationController
用于发送通知的函数.
public function sendNotification()
{
...
DB::purge('mysql_client');//IMP
// Set the client DB name and fire it up as the new default DB connection
Config::set('database.connections.mysql_client.host', $db_host);
Config::set('database.connections.mysql_client.database', $db_database);
Config::set('database.connections.mysql_client.username', $db_username);
Config::set('database.connections.mysql_client.password', $db_password); …
Run Code Online (Sandbox Code Playgroud) 我在启动laravel安装时遇到问题.每当我输入终端时php artisan serve
,它会抛出如下错误:
c:\ wamp\www\blog> php artisan服务Laravel开发服务器在http:// localhost:8000 /上启动
[Sat Nov 05 21:18:39 2016]无法收听localhost:8000(原因:尝试以其访问权限禁止的方式访问套接字.)
我有一个Laravel Scheduled作业,其定义Kernel.php
如下
$schedule->call('\App\Http\Controllers\ScheduleController@processQueuedMessages')
->everyFiveMinutes()
->name('process_queued_messages')
->withoutOverlapping();
Run Code Online (Sandbox Code Playgroud)
在开发过程中,由于语法错误,我的工作引发了异常。我更正了错误并尝试再次执行;但由于某种原因它不会。
我试了artisan down
然后artisan up
。我也尝试过重新启动服务器实例。但是没有任何帮助。作业只是没有执行(也不例外)。
我意识到问题是由于->withoutOverlapping()
。Laravel调度程序以某种方式认为该作业已经在运行,因此不再执行它。