RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题

问题[php]

Martin Hope
Gest Se
Asked: 2025-04-24 18:00:40 +0000 UTC

如何修复 yii2 中 worker rabbitmq 无限执行的问题

  • 5

我有一个队列rabbitmq scriptQueue。当我推送一条消息时,它需要很长时间才能执行,然后某些东西首先尝试轻轻地停止它,然后发出信号kill。在另一台服务器上,一切正常,数据完全相同。我在 Yii2 中对其进行了设置job,以便在启动时将其作为日志写入数据库,并简单地创建一个文件,并将debug其显示在面板中,但这些都不起作用。

到底发生了什么事?

Yii2 中的队列配置:

'scriptQueue' => [
            'class' => Queue::class,
            'port' => 5672,
            'host' => 'localhost',
            'user' => $params['queue']['user'],
            'password' => $params['queue']['password'],
            'exchangeName' => 'scriptQueue',
            'queueName' => 'scriptQueue',
            'vhost' => '/',
            'driver' => yii\queue\amqp_interop\Queue::ENQUEUE_AMQP_LIB,
            'serializer' => JsonSerializer::class,
            'strictJobType' => false,
            'queueOptionalArguments' => [
                'x-max-priority' => 3, // 3 режима приоритизации 3 будет выполняться быстрее чем 1, и 2
                'x-max-length' => 10000,  // Макс. 10k сообщений
            ]
        ],



systemctl status script-queue
● script-queue.service - Script queue listener
   Loaded: loaded (/etc/systemd/system/script-queue.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2025-04-24 12:12:11 MSK; 46min ago
 Main PID: 8124 (php7.2)
    Tasks: 2 (limit: 4915)
   CGroup: /system.slice/script-queue.service
           ├─8124 /usr/bin/php7.2 yii script-queue/listen
           └─9738 /usr/bin/php7.2 yii script-queue/exec 1 0 --color=

我检查了数据库的访问权限 - 它就在那里。我检查了代码 - 它确实有效。

结论:

sudo strace -p 2735 -s 100 -f:

poll([{fd=4, events=POLLIN|POLLERR}], 1, -1) = 1 ([{fd=4, revents=POLLIN}])
recvfrom(4, "\27\3\3 \21", 5, 0, NULL, NULL) = 5
recvfrom(4, "\34\343\3M\243\21M\202[Y\257\311!/\230\207\17S\223\1b\26F\237\335\36\v\10\203\250\n\341\316\277\361q\240\215H\356\376$\257\313\264\254\313\320<\307\335\2722\327f\342<F\211n_\253\312T|\2\3474@:\2354\27?\32\255M\243e\21\340]\31\1z\373\212OI\306\363N\277\310A2\26m=\22"..., 8209, 0, NULL, NULL) = 8209
poll([{fd=4, events=POLLIN|POLLERR}], 1, -1) = 1 ([{fd=4, revents=POLLIN}])
recvfrom(4, "\27\3\3 \21", 5, 0, NULL, NULL) = 5
recvfrom(4, "\247%\267\243\225\276_\310\222\r\6\242\222\257\357tF\264\320k\321\332]]K\34vg\241oZ\311\24U\246Q\6\36M\262\321'\216qaNIR\n9YszQ\236\375\25c \364\276\331 \6\233N;\32\232z<Q\257~\276)R\362\334s\353\10a\374\377t\232\6\2761v\201\323\346\305@f\213\313\206"..., 8209, 0, NULL, NULL) = 8209
poll([{fd=4, events=POLLIN|POLLERR}], 1, -1) = 1 ([{fd=4, revents=POLLIN}])
recvfrom(4, "\27\3\3 \21", 5, 0, NULL, NULL) = 5
recvfrom(4, "5D\33\325\257\2576\216\302\0344jz\30663z\22\244\205 \364\320}\202\302C\343\343\264U0\"<\36H \tp\5]\205\301e\244\211\202G\1DKO\5{\371\334S:k\272X\353;Y[\364\303W\355\362\32\350\347\266\277\215k\334\211\207\334\334\217*c\311\f\323\31\30\316\210\2063\25Fov\350\213"..., 8209, 0, NULL, NULL) = 5787
recvfrom(4, "\374\233}\373\rt\373\336\271x\214\363\263\364\22h\210\363\351\273\216\355Z\256\35\345Z\6=I\fE{\356;k0\332\340\341?\317\22-\344\361v\233X\366\335a\251\247\266\326x\323\216\32\251itY\370\202\244\204u\5DW\30\220\300\245\322\221)\f\316Z\2747\203&3l\310\314\206\312\204'=\20\35`\306\1"..., 2422, 0, NULL, NULL) = 2422
poll([{fd=4, events=POLLIN|POLLERR}], 1, -1) = 1 ([{fd=4, revents=POLLIN}])
recvfrom(4, "\27\3\3 \21", 5, 0, NULL, NULL) = 5
recvfrom(4, "\365.\nb\303\256\363\264\322W\323#\352H\264\342rZ&\5&\r\225\201\270\244\371s\247DYB\nlN\323F\320SP\"s\371\234\236mF\233*\2134\376&T'*?fH\204\nH\317\254\217(\222\253\1kfw\6-\206>\307\17A\365\230\250{U\212\373\230\211\311y\353\33\363\323\246]\363\241\300\251"..., 8209, 0, NULL, NULL) = 8209
poll([{fd=4, events=POLLIN|POLLERR}], 1, -1) = 1 ([{fd=4, revents=POLLIN}])
recvfrom(4, "\27\3\3 \21", 5, 0, NULL, NULL) = 5
recvfrom(4, "\37\337U\255\0\317\301\355\372\246qVET>\363\366\375\272\30$\207\211\211 \6\310\367\220\325\221D$H7>\274\214W\2352L\274K\355\257\23\33\3542\301\242\365*q\216\3773\337\266\215I-\333\236\377\205\316S\t\177\235m\331\34\357\376\1(\256z\313\332\2762\32\244\246\264\213@\305\212\4\231\312p=\10\352"..., 8209, 0, NULL, NULL) = 8209
poll([{fd=4, events=POLLIN|POLLERR}], 1, -1) = 1 ([{fd=4, revents=POLLIN}])
recvfrom(4, "\27\3\3 \21", 5, 0, NULL, NULL) = 5
recvfrom(4, "1\262\244\332\244\0C\250\245A\3465A\336'v+\2405|\32\360L\353.\3255G\346Q\223b%*B\223}\n\3449\345S:\300`\354\354_\356l\304]\244N \210\262qc t\1\344\336F\301\376\2\377\2\250\260v\24\325\23\353\22\357\33\314\202\354C\357\242\r\271\1\354\351\324\207Y \245\33\220\247\26"..., 8209, 0, NULL, NULL) = 8209
poll([{fd=4, events=POLLIN|POLLERR}], 1, -1) = 1 ([{fd=4, revents=POLLIN}])
recvfrom(4, "\27\3\3 \21", 5, 0, NULL, NULL) = 5
recvfrom(4, "\204`\30\247`\374\307\313D\0\17B\320yA\266*\377\333\10\273\341\353\243\365\365\262\321\352\367\351\205\362\303g\5\322g?\10\316\256,:\2248\204;\271\332\211\26\346\316\326\201\356\367SK\324\340\273/\304yTQ\250*\306\27\356b\267u(\26L\33\351\334\177\20\262]\264o\2L\217\310Y\275-G\255\201L\236"..., 8209, 0, NULL, NULL) = 8209
poll([{fd=4, events=POLLIN|POLLERR}], 1, -1) = 1 ([{fd=4, revents=POLLIN}])
recvfrom(4, "\27\3\3 \21", 5, 0, NULL, NULL) = 5
recvfrom(4, "\357reX\22\315\263\272\341`\305\32\370US\6\337\216\210\234\332\30X\234\363z\232/\273eB\370g\227r\rR\6z\224\275\303\300\274*I\324\16/\230b\341\350\247\300B\342\16?h\323\267\235\202\355\2030\362\270\235\207\220\367\301,\345X\350\307S\247-9\36\321\254@:{\222%\245\325\363\35s\343\331\377@"..., 8209, 0, NULL, NULL) = 8209
poll([{fd=4, events=POLLIN|POLLERR}], 1, -1) = 1 ([{fd=4, revents=POLLIN}])
recvfrom(4, "\27\3\3\v\307", 5, 0, NULL, NULL) = 5
recvfrom(4, "W\264\20\302\23\365\363\206\275B=X#\202\375\233\0317\375\1\231\314\212B\262\27\331\262\323F\257\267\367\363O\3300\177y\276\362f{\332\360\223ir\377\216p\200G\30\226\31?\361\300\220\221\246\352\2668\320f\10'\231~\253\277\20\3032\2359\215\371\vf&\22\317\2219\252\355'\17h\221m\233\352\254\361\25_"..., 3015, 0, NULL, NULL) = 3015
sendto(4, "\27\3\3\0003S!\236\21\222\306\34 \32\3634<\6\313\227\343\201\350DJi7\266p\363<\323aGTV\256n\324(\0E\337\275\344\344q\177V\302S\373\341\25gm", 56, MSG_NOSIGNAL, NULL, 0) = 56
poll([{fd=4, events=POLLIN|POLLERR}], 1, -1) = 1 ([{fd=4, revents=POLLIN}])
recvfrom(4, "\27\3\3\0'", 5, 0, NULL, NULL) = 5
recvfrom(4, "z \235\343*\2179S\241y\21r=Cz\377\264\233\220\27\231\312\23\36\177\251\371\n3X\2613\300\rX6\344\323v", 39, 0, NULL, NULL) = 39
sendto(4, "\27\3\3\0x\366\363\277\3407\210\25661p:\252'\255\351\355\"\251\231\332Tm\227\375\274\361t\225\225\3\356\266K\370\355FU@\262n\217\261\221\267RDE\203P{\36\210\251kR},\223\371\366\23\362p\31b\345\317b\31))\251\260\36\376\317\350\372A\276\202\254\324O\334\264I\216\256Eeq\267c\320"..., 125, MSG_NOSIGNAL, NULL, 0) = 125
poll([{fd=4, events=POLLIN|POLLERR}], 1, -1) = 1 ([{fd=4, revents=POLLIN}])
recvfrom(4, "\27\3\3\0\34", 5, 0, NULL, NULL) = 5
recvfrom(4, "\346\363\210v\250\2478\270\356\266\333D\2746\33\220\33\257H\304\2173\372#\20Z\376S", 28, 0, NULL, NULL) = 28
sendto(4, "\27\3\3\0N\3021\331\375$\271Kv 1O\251\7`\3673\361\262\344>\1\353\317ZE\361/\270\31\244\20q\10\274\254Z?t\16\354;\312\305DM&3\"\20L\213a\226e\254uS*\6\274\270\223\270\254\v\5<\200}\352N\256\301\377(\10\22\333", 83, MSG_NOSIGNAL, NULL, 0) = 83
poll([{fd=4, events=POLLIN|POLLERR}], 1, -1) =
php
  • 1 个回答
  • 20 Views
Martin Hope
user658408
Asked: 2025-04-16 18:36:16 +0000 UTC

当移动到另一个页面时,上一页的控制器将链接到新的 url。这和什么有关?如何修复?

  • 6

总的来说,我制作了一个布局,一个带有指向网站其他页面的链接的标题。第一次转换时一切正常,或者如果您返回到主页,但如果您继续并转到另一个页面,我们会得到 404。发生这种情况是因为上一页的控制器附加到了新的 URL。

例子

我们第一次去:address/web/controller/action

我们转到另一个页面或点击同一页面:

地址/web/previouscontroller/控制器/动作

我们转到另一个页面或再次点击同一页面:

地址/web/previouscontroller/previouscontroller/控制器/动作

如此反复,或者返回主页。我甚至不知道如何正确地表述这一点,以便搜索引擎能够正确理解我的意思。

布局:

 <?php

/** @var yii\web\View $this */
/** @var string $content */

use app\assets\AppAsset;
use yii\helpers\Html;
use yii\helpers\Url;

AppAsset::register($this);
?>
<?php $this->beginPage() ?>
<!DOCTYPE html>
<html lang="<?= Yii::$app->language ?>" class="h-100">

<head>
    <meta charset="<?= Yii::$app->charset ?>">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <?php $this->registerCsrfMetaTags() ?>
    <title><?= Html::encode($this->title) ?></title>
    <?php $this->head() ?>
</head>

<body class="d-flex flex-column h-100">
    <?php $this->beginBody() ?>

        <header class="header">
        <div class="container">
            <div class="burger__menu">
                <span></span>
            </div>
            <div class="logo">
            <a href="<?=Url::home()?>"><?= Html::img('@web/img/orig_use.png', ['alt' => 'логотип']) ?></a>
            </div>

            <nav class="menu">
                <ul>
                    <li class="header__menu">
                        <a href="<?=Url::to('about/about-view')?>">о нас</a>
                    </li>
                    <li class="header__menu">
                        <a href="<?=Url::to('games/games-view')?>">игры</a>
                    </li>
                    <li class="header__menu">
                        <a href="<?=Url::to('news/news-view')?>">новости</a>
                    </li>
                    <li class="header__menu">
                        <a href="<?=Url::to('jobs/jobs-view')?>">работа</a>
                    </li>
                </ul>
            </nav>
            <div class="registration__and__themes">
                <ul>
                    <li class="header__icons">
                        <button><?= Html::img('@web/img/translate_icon.svg', ['alt' => 'перевод сайта']) ?></button>
                    </li>
                    <li class="header__icons">
                        <button><?= Html::img('@web/img/swap_temes_icon.svg', ['alt' => 'смена темы сайта']) ?></button>
                    </li>
                </ul>
            </div>
        </div>
    </header>
    <?= $content ?>

    <?php $this->endBody() ?>
</body>

</html>
<?php $this->endPage() ?>

例如,一个控制器,它们是相同的:

    <?php
namespace app\controllers;
use yii\web\Controller;
?>
<?php
class GamesController extends Controller{
    public function actionGamesView(){
    return $this->render("games");
    }
}
?>

 
php
  • 1 个回答
  • 20 Views
Martin Hope
Дмитрий
Asked: 2025-03-31 21:09:21 +0000 UTC

如何合并两个 mysql 查询

  • 5

$id = ...;

$sql = "SELECT * FROM datbase WHERE id < $id ORDER BY id DESC, id DESC LIMIT 5";

和

$sql = "SELECT * FROM datbase WHERE id > $id ORDER BY id ASC, id DESC LIMIT 5";

如何合并为一个请求

php
  • 1 个回答
  • 14 Views
Martin Hope
BlackStar1991
Asked: 2025-03-19 23:17:11 +0000 UTC

我如何才能理解是什么阻止了对站点的请求并导致 403 错误?

  • 5

存在这样的问题——具有特定 IP 地址的特定用户无法访问该站点。给他留言Access Denied

我的问题是,我如何知道究竟是什么阻碍了它?网站、托管或其他。其他用户可以访问该网站。如果你通过 VPN 访问,那么在他的城市也可以使用。该用户之前没有访问过此站点,但是有东西阻止了它。是否有任何网络浏览器应用程序或类似的东西可以模拟别人的 IP 进行测试?至少要确保这是一个托管问题,以确保它在本地被允许。

也许有一些命令可以用来从给定的 IP ping 某个站点?

php
  • 1 个回答
  • 59 Views
Martin Hope
steep
Asked: 2025-03-11 07:14:15 +0000 UTC

如何将数组解析为元素并保存到文件?

  • 4

此代码将数据写入文件

$data = file_get_contents('php://input');
$data = json_decode($data, true);

function writeLogFile($string, $clear = false){
    $log_file_name = __DIR__."/message.txt";
    $now = date("Y-m-d H:i:s");
    if($clear == false) {
        file_put_contents($log_file_name, $now." ".print_r($string, true)."\r\n", FILE_APPEND);
    } else {
        file_put_contents($log_file_name, $now." ".print_r($string, true)."\r\n");
    }
}
writeLogFile($data, false);

这种格式

...
2025-03-11 01:10:28 Array
(
    [update_id] => 82576514
    [message] => Array
        (
            [message_id] => 6618
            [from] => Array
                (
                    [id] => 390344561
                    [is_bot] => 
                    [first_name] => 𝕊𝔹𝔹
                    [last_name] => 𝕚𝕟𝕘
                    [username] => ETR
                    [language_code] => ru
                )

            [chat] => Array
                (
                    [id] => 390344561
                    [first_name] => 𝕊𝔹𝔹
                    [last_name] => 𝕚𝕟𝕘
                    [username] => ETR
                    [type] => private
                )

            [date] => 1741644628
            [text] => Главная
        )

)
...

如何使文件以这种格式写入

2025-03-11 01:10:28 Имя => 𝕊𝔹𝔹, Фамилия => 𝕚𝕟𝕘, Ник => ETR ...

以及在.csv文件中(如何设置此代码?)

$buffer = fopen(__DIR__ . '/file.csv', 'w'); 
fputs($buffer, chr(0xEF) . chr(0xBB) . chr(0xBF));
foreach($string as $val) { 
    fputcsv($buffer, $val, ';'); 
} 
fclose($buffer); 
exit();
php
  • 1 个回答
  • 59 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5