RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

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

Максим Н Епихин's questions

Martin Hope
Максим Н Епихин
Asked: 2022-09-16 19:44:28 +0000 UTC

包作曲家版本错误

  • 0

我创建了自己的包,但无法在另一个项目中连接它:

[InvalidArgumentException]
找不到与您的最低稳定性 (dev) 匹配的包 mepihindeveloper/php-query-param 版本。要求它具有明确的版本约束,以允许其所需的稳定性。

这是新项目的composer.json:

{
    "name": "mepihindeveloper/php-query",
    "description": "Component for working with query string",
    "type": "library",
    "license": "MIT",
    "keywords": [
        "component",
        "class",
        "php",
        "query",
        "params",
        "query string"
    ],
    "authors": [
        {
            "name": "mepihindeveloper",
            "email": "mepihindeveloper@gmail.com"
        }
    ],
    "require": {
        "php": ">=7.4"
    },
    "autoload": {
        "psr-4": {
            "mepihindeveloper\\components\\query\\": "src/"
        }
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "require-dev": {
        "codeception/codeception": "^4.1",
        "codeception/module-phpbrowser": "^1.0.0",
        "codeception/module-asserts": "^1.0.0"
    }
}

我这样连接composer require mepihindeveloper/php-query-param:作曲家版本:Composer version 1.6.3 2018-01-31 16:28:17.

另一个类似的包连接没有问题......我做错了什么?

composer
  • 0 个回答
  • 0 Views
Martin Hope
Максим Н Епихин
Asked: 2022-09-28 21:41:30 +0000 UTC

为什么打开网站主页时向 AstraLinux 发送 2 个请求?

  • 2

有带有域授权的AstraLinux 。开发的站点在Yii2上。为什么打开主页会出现2个请求,如何摆脱?此外,我原则上从 中删除了Yii2/var/www/html ,但请求保持不变。

当发送 curl 请求时,Yii2 在 GSSAPI 数据库上报错,如果你删除 Yii2,那么一切正常。可能是什么问题呢?明明是拿不到谈判令牌的,怎么突然就拿了?

更新

检查没有 Yii2 的纯请求 - 一切正常。也就是说,Yii2 在某处失去了动力:

$KRB5CCNAME = $_SERVER['KRB5CCNAME'] ?? '';

putenv("KRB5CCNAME={$KRB5CCNAME}");

还是根本没有KRB5CCNAME$_SERVER

在此处输入图像描述

yii2
  • 2 个回答
  • 10 Views
Martin Hope
Максим Н Епихин
Asked: 2021-11-05 00:42:56 +0000 UTC

如何在我的作曲家项目的供应商文件夹之外实现根文件?

  • 0

我正在开发一个库(微框架)。决定引入迁移管理。为此,我在项目的根文件夹中/var/www/project/有一个sql-migration执行某些逻辑的文件。它通过控制台访问。php sql-migration create [NAME].

据我了解,如果我们制作一个想要放置在packagist.org中的项目,那么当它在不同的地方初始化时,它将适合vendor/developername/project/. 以及如何使根元素(项目核心)位于初始化vendor文件sql-migration夹的根目录中?例如,它是如何在Yii中实现的。

composer
  • 1 个回答
  • 10 Views
Martin Hope
Максим Н Епихин
Asked: 2020-09-04 15:57:00 +0000 UTC

鉴于其中一个是初始提交,如何合并多个提交?

  • 0

有一个分支master,其中只有 2 个提交:提交 2 和提交 1。自然,提交 1 是第一个(初始)提交,提交 2 是编辑。

如何将这 2 个提交合并为 1 个,以便master分支历史记录中只有 1 个提交?

我试过这个指南,但它不起作用。离开分支master,到一些临时分支(没有分支,移动主人)。

我不明白如何合并提交。

git
  • 1 个回答
  • 10 Views
Martin Hope
Максим Н Епихин
Asked: 2020-08-02 20:38:53 +0000 UTC

什么时候应该打开数据库连接?

  • 0

问题主要是关于安全性。对于永久活跃用户超过 100 个的系统,我无法确定哪种方法更好:

  1. 在全局应用程序类中,db创建一个创建类的新实例的属性Database。在其构造函数中,立即打开与数据库的连接。所有进一步的调用都将在以下级别:Application::$app->db->...。
  2. new Database仅在需要时创建连接 ( )。

在第一种情况下,我担心每个用户不断打开连接,而在第二种情况下 - 从一个页面工作的大量连接(直到重新加载)。

在第一种情况下,连接较少(每个用户只有一个),在第二种情况下 - 没有永久打开的连接。

告诉我如何做得更好以及从中选择什么。

php
  • 1 个回答
  • 10 Views
Martin Hope
Максим Н Епихин
Asked: 2020-05-07 22:13:57 +0000 UTC

如何将递归转换为plpgsql中的函数?

  • 0

我有这个工作代码,但我需要将其转换为具有动态属性的函数,tid = 1645其中数字 1645 将始终更改。

with recursive r as (
    select tid, boss from titles where tid=1645
    union
    select titles.tid, titles.boss from titles join r on titles.tid = r.boss
)
select * from r

现在有这个:

DROP FUNCTION bosses_of_rsd_tids(integer);
CREATE OR REPLACE FUNCTION public.bosses_of_rsd_tids(rsd_tid int)
    RETURNS table (c_tid int, c_boss int)
    LANGUAGE plpgsql
AS $function$
    begin
        with recursive r as (
            select tid, boss from titles where tid=rsd_tid
            union
            select titles.tid, titles.boss from titles join r on titles.boss = r.tid
        )

        select c_tid, c_boss;
    end;
 $function$
;

结果,我需要一个结果表...我尝试return select c_tid, c_boss;了但出现错误:near return

база-данных
  • 2 个回答
  • 10 Views
Martin Hope
Максим Н Епихин
Asked: 2020-03-18 04:49:04 +0000 UTC

如何处理 MVC PHP 错误?

  • 0

大家好。我正在为应用程序开发编写我的库。现在有一个关于如何处理错误和异常的严肃问题。决定使用记录错误、致命错误和异常的方法。我注意到一个奇怪的地方,set_error_handler即使它已经发送了标头,register_shutdown_function它也可以工作两次。现在的问题是我无法重定向到错误页面:. 该错误是专门在要检查的视图中引发的,即在渲染页面之后。Cannot modify header information - headers already sent by

通常,任务是显示包含详细信息的错误页面或不显示详细信息的错误页面。

如何解决重复错误的问题并在必要时重定向?

<?php

namespace Core;

use Helpers\Config;
use Helpers\File;
use Helpers\Url;

/**
 * Class ErrorHandler
 * Обработчик ошибок и исключений
 * @package Сore
 */
class ErrorHandler
{
    /**
     * @var array Константа ассоциаций кода ошибок к тексту
     */
    const ERRORS = [
        E_ERROR => 'ERROR',
        E_WARNING => 'WARNING',
        E_PARSE => 'PARSE',
        E_NOTICE => 'NOTICE',
        E_CORE_ERROR => 'CORE_ERROR',
        E_CORE_WARNING => 'CORE_WARNING',
        E_COMPILE_ERROR => 'COMPILE_ERROR',
        E_COMPILE_WARNING => 'COMPILE_WARNING',
        E_USER_ERROR => 'USER_ERROR',
        E_USER_WARNING => 'USER_WARNING',
        E_USER_NOTICE => 'USER_NOTICE',
        E_STRICT => 'STRICT',
        E_RECOVERABLE_ERROR => 'RECOVERABLE_ERROR',
        E_DEPRECATED => 'DEPRECATED',
        E_USER_DEPRECATED => 'USER_DEPRECATED',
    ];

    public static $status;

    /**
     * Регистрация методов управления ошибками и исключениями.
     * Включение отображения ошибок
     */
    public static function register()
    {
        ini_set('display_errors', 1);
        error_reporting(E_ALL);

        # Управление ошибками
        set_error_handler([__CLASS__, 'errorHandler']);
        # Управление фатальными ошибками
        register_shutdown_function([__CLASS__, 'fatalErrorHandler']);
        # Управление исключениями
        set_exception_handler([__CLASS__, 'exceptionHandler']);
    }

    /**
     * Управление ошибками
     * @param $errno Код (номер) ошибки
     * @param $errstr Сообщение ошибки
     * @param $errfile Файл ошибки
     * @param $errline Строка в файле ошикбки
     * @return bool Предотвращение дальнейшего выполнения
     */
    public static function errorHandler($errno, $errstr, $errfile, $errline)
    {
        self::show($errno, $errstr, $errfile, $errline);
        # Не передается ошибка далее на обработку
        return true;
    }

    /**
     * Отображение ошибок на экран
     * @param $errno Код (номер) ошибки
     * @param $errstr Сообщение ошибки
     * @param $errfile Файл ошибки
     * @param $errline Строка в файле ошикбки
     */
    private static function show($errno, $errstr, $errfile, $errline)
    {
        http_response_code(self::$status);
        echo "[" . date('Y-m-d H:i:s') . "] <b>" . self::getErrorName($errno) .
            "</b> в файле {$errfile} на строке <b>{$errline}</b>:<br>{$errstr}<br>";
        $message = "[" . date('Y-m-d H:i:s') . "]" . self::getErrorName($errno) .
            " в файле {$errfile} на строке {$errline}:" . PHP_EOL . $errstr . PHP_EOL . PHP_EOL;
        self::writeLog($message);
    }

    /**
     * Получение наименования класса ошибки по ее коду
     * @param $error integer Номер ошибки
     * @return string Наименование класса ошибки
     */
    private static function getErrorName($error)
    {
        $error_name = $error;
        if (array_key_exists($error, self::ERRORS)) {
            $error_name = self::ERRORS[$error];
        }

        return $error_name;
    }


    private static function writeLog($message)
    {
        $errors_config_section = Config::getSettings('logs', 'errors');
        $log_file = File::createFile($errors_config_section['filename'], $errors_config_section['extension'], LOG);
        File::write($log_file, $message);

        header("Location: " . Url::to($errors_config_section['controller'], self::$status));
    }

    /**
     * Управление фатальными ошибками
     * @return bool Предотвращение дальнейшего выполнения
     */
    public static function fatalErrorHandler(int $status = 500)
    {
        self::$status = $status;
        if (!empty($error = error_get_last()) && $error['type'] && (E_ERROR | E_PARSE | E_COMPILE_ERROR | E_CORE_ERROR)) {
            ob_get_clean();
            self::show($error['type'], $error['message'], $error['file'], $error['line']);
        }

        return true;
    }

    /**
     * Управление исключениями
     * @param \Exception|\Error $ex Исключение
     * @return bool Предотвращение дальнейшего выполнения
     */
    public static function exceptionHandler($ex, int $status = 500)
    {
        self::$status = $status;
        self::show(get_class($ex), $ex->getMessage(), $ex->getFile(), $ex->getLine());
        return true;
    }
}
php
  • 2 个回答
  • 10 Views
Martin Hope
Максим Н Епихин
Asked: 2020-01-23 04:43:23 +0000 UTC

如何实现 PHP MVC 面包屑?

  • 1

如何在 PHP 中实现 MVC 中的自动面包屑?目前一切运行良好,但我注意到代码正在按照我的方法执行,这是我根本不想要的。

private static function getTitle($url, $is_module=FALSE)
{
    if ($is_module) {
        $prefix = \Config\Config::getPrefixTitle($url);
        if (!is_null($prefix)) {
            return $prefix;
        }
    }        
    $meta_tags = get_meta_tags($url);
    if (array_key_exists('breadcrumb_title', $meta_tags)) {
        return $meta_tags['breadcrumb_title'];
    }

    $str = file_get_contents($url);
    if (strlen($str) > 0) {
        $str = trim(preg_replace('/\s+/', ' ', $str)); // supports line breaks inside <title>
        preg_match("/\<title\>(.*)\<\/title\>/i", $str, $title); // ignore case
        return $title[1];
    }

    return NULL;
}

http://localhost.localhost/admin/users/update我通过某些操作从请求中得到这样一个路径数组:

  • http://localhost.localhost/
  • http://localhost.localhost/admin/main/
  • http://localhost.localhost/admin/users/
  • http://localhost.localhost/admin/users/update

在负责页面的控制器中,我进行了分配$this->view->breadcrumb_title = "Сайт";。这是在视图的基类中实现的:

public function __set($name, $value) {
    $this->$name = $value;
}

public function __get($name) {
    if ($name == "breadcrumb_title") {
        return isset($this->breadcrumb_title) ? $this->breadcrumb_title : $this->title;
    }
    return isset($this->$name) ? $this->$name : NULL;
}

所以我注意到一个有趣的事情,如果你使用我在开头指出的函数(get_meta_tags / file_get_contents),那么整个页面都会被执行......这不是很好,因为我可以在那里创建一些东西。就个人而言,我注意到在我的函数测试中,他们说标题结果很好,然后创建了我删除的文件......这是因为index在控制器操作中创建了文件。

问题是:如何避免这种情况,有什么方法?

谢谢你。

php
  • 1 个回答
  • 10 Views
Martin Hope
Максим Н Епихин
Asked: 2020-12-10 16:48:02 +0000 UTC

如何检查链接是否有病毒?

  • 2

有这样一个需要检查用户输入的链接是否有恶意指标,即网站上是否有可能造成危害的东西。

下面是如何在PHP中实现这样的东西,或者至少是可以显式识别和实现的验证算法和指标?我去了谷歌,有一张支票,但对于某些网站来说,它只是“没有数据”,这并不好。

更新

应用了病毒总 API。限制令人困惑,但付费选项会做

php
  • 1 个回答
  • 10 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