gpt4 book ai didi

php - 在 laravel 之外访问 Redis 类

转载 作者:可可西里 更新时间:2023-11-01 11:24:54 26 4
gpt4 key购买 nike

我正在监听跟踪器设备的套接字,我在公共(public)文件夹中创建了一个 php 类,在该文件中我正在访问 Redis 类以将数据发布到服务器,但我收到以下错误:

Stack trace:
#0 C:\xampp\htdocs\www\socket5\public\socket-server.php(38): Illuminate\Support\Facades\Facade::__callStatic('publish', Array)
#1 {main}
thrown in C:\xampp\htdocs\www\socket5\vendor\laravel\framework\src\Illuminate\Support\Facades\Facade.php on line 218

Fatal error: Uncaught RuntimeException: A facade root has not been set. in C:\xampp\htdocs\www\socket5\vendor\laravel\framework\src\Illuminate\Support\Facades\Facade.php:
218

这是我遇到的错误。这就是我正在做的:

use \Illuminate\Support\Facades\Facade as Facade;
use Illuminate\Support\Facades\Redis;
Redis::publish('test-channel', json_encode($data));

这就是我监听套接字的方式:

$server = stream_socket_server("tcp://IP_ADDRESS:4000", $errno, $errorMessage);
if ($server === false) {
throw new UnexpectedValueException("Could not bind to socket: $errorMessage");
}
else {
$i = 0;
for (;;) {
if($i == 0) {
$client = @stream_socket_accept($server);
}
if ($client) {
if($i == 0) {
$message= fread($client, 80000);
echo $message;
$response=pack("H*","01");
fwrite($client, $response);
$i++;
}
else {
$message= fread($client, 80000);
$data = $message;
echo $message;
if(trim($message) == "") {
fclose($client);
$i = 0;
}
else {
$hexData = bin2hex($message);
$decoder = new TeltonikaFmParser\TcpDecoder();
$original_data = $decoder->decodeData($hexData);
echo $json_string = json_encode($original_data);
$data = [
'event' => 'UserSignedUp',
'data' => $original_data
];
Redis::publish('test-channel', json_encode($data));
//insertintodatabase($json_string);
fclose($client);
$i = 0;
}

}
}
}
}

我已经搜索过这个但找不到任何东西。任何帮助将不胜感激。

如果有人可以帮助了解如何在 Laravel 中收听套接字,那也很棒。

最佳答案

你提供的代码不属于公共(public)目录&它不应该使用网络服务器运行,你应该使用终端来运行它......我想你可以把它放到它的自己的 artisan 命令

Check Laravel's Artisan Docs

关于php - 在 laravel 之外访问 Redis 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48425356/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com